百万级sql优化查询

时间:2021-08-24 02:25:39

SQL版本 5.7

有一张流水表,未分库分表,目前的数据量为950w,分页查询使用到了limit,优化之前的查询耗时167s左右 (execution: 16s831ms, fetching: 107 ms)

按照下文的方式调整SQL后,耗时347ms (execution: 163 ms, fetching: 184 ms);优化前的SQL类似这样:

-- 优化前SQL
SELECT  各种字段
FROM `table_name`
WHERE 各种条件
LIMIT 0,10;
--优化后
SELECT * FROM `table_name` a RIGHT JOIN ( SELECT id FROM `table_name` where 条件 LIMIT 0,1000000 ) temp_table ON temp_table.id = a.id