- 43
- 0
现在的问题是,我左表是25W数据,一个部门表,右表是部门的积分明细表,现在需要左表连右表,然后用where like 范围查找,如果关键字是全表都有的话,查询出来的结果是25W条数据,查询很慢,大概要2S。
然后需求还要按积分的高低排名,同分数要按部门名字来排名,加上这个排序条件,就需要5S大概。
我想问下各位,对于这种情况,能怎么优化起来。
sql语句如下
SELECT
ifnull(a.accumulative_integral,0) as accumulative_integral,
b.dept_full_name,
b.dept_name,
b.is_delete
FROM
tb_integral_statistics as b
LEFT JOIN
( select sum(score) as accumulative_integral,dept_full_name,is_delete
from tb_party_integral
where is_delete = 0
group by dept_full_name
) as a
ON a.dept_full_name = b.dept_full_name
WHERE
1 = 1
and b.dept_full_name like '1-%'
AND b.is_delete = 0
ORDER BY
accumulative_integral DESC,
CONVERT (dept_name USING gbk) ASC 1
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
妞,给爷笑一个 普通会员 1楼
在处理大规模表时,性能优化是一个重要的任务。以下是一些可能的优化策略:
-
使用索引:对于经常用于搜索的列,可以创建索引。这将大大提高查询速度。
-
分区:对于非常大的表,可以考虑将其分为多个较小的表。这将使查询更容易进行,并且可以减少数据复制的次数。
-
使用批量插入:如果表中的数据量非常大,那么一次性插入所有的数据可能会非常慢。在这种情况下,可以考虑使用批量插入,一次性插入所有数据。
-
使用存储过程:存储过程可以将多个查询和数据处理任务封装在一起,这将大大提高性能。
-
使用正确的查询:对于查询,确保使用正确的索引和条件。避免使用复杂的查询语句,这可能会降低性能。
-
使用正确的数据库连接:确保使用正确的数据库连接。不同的数据库连接可能需要不同的优化策略。
-
使用正确的存储引擎:不同的存储引擎可能有不同的性能。在选择存储引擎时,应该考虑其性能和可扩展性。
-
优化查询语句:优化查询语句,如避免全表扫描,减少子查询,合理使用JOIN等。
-
使用事务:在处理大量数据时,使用事务可以保证数据的一致性。
-
使用缓存:对于经常访问的列,可以考虑使用缓存。这将大大提高性能。
以上只是一些基本的优化策略,具体的优化策略需要根据你的表的实际情况来确定。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

