数据量大的表,查寻方式优化,提升查寻效率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据量大的表,查寻方式优化,提升查寻效率相关的知识,希望对你有一定的参考价值。

有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);

 

操作:查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段;

 

原理:减少回表操作;

-- 优化前SQL
SELECT  各种字段
FROM `table_name`
WHERE 各种条件
LIMIT 0,10;

 

-- 优化后SQL
SELECT  各种字段
FROM `table_name` main_tale
RIGHT JOIN 
(
SELECT  子查询只查主键
FROM `table_name`
WHERE 各种条件
LIMIT 0,10;
) temp_table ON temp_table.主键 = main_table.主键

原文地址:https://mp.weixin.qq.com/s/eic4hb9aK5qhcbcb2GtaZw

 

原文是技术主管发到群里面分享的,是个我很敬佩的技术大佬,希望有朝一日和他一样~

以上是关于数据量大的表,查寻方式优化,提升查寻效率的主要内容,如果未能解决你的问题,请参考以下文章

在一个千万级的数据库查寻中,如何提高查询效率?

在一个千万级的数据库查寻中,如何提高查询效率?

在一个千万级的数据库查寻中,如何提高查询效率?

在一个千万级的数据库查寻中,如何提高查询效率?

353在一个千万级的数据库查寻中,如何提高查询效率?

金山云JAVA中台:在一个千万级的数据库查寻中,如何提高查询效率?