0


MySQL优化手册概要——LIMIT优化

MySQL优化之 —— LIMIT分页查询优化

对常见的小规模数据的分页查询可以通过覆盖索引提高性能。
但是对于大数据量应采取其他优化措施。

方案一:覆盖索引+JOIN

  • NOTE: 实际使用需要根据不同环境测试,寻求查询数据量对查询效率曲线的极值点。数据量高于极值点时才可考虑JOIN 优化,否则属画蛇添足行为!

此处综合考虑对 “ORDER BY + LIMIT” 的优化

ORDERBY[SOMETHING]LIMIT A,B

JOIN ON

EXPLAINSELECT[SOMETHING]FROM`TABLE``T`JOIN(SELECT ID
        FROM`TABLE`ORDERBY[SOMETHING]LIMIT5000000,10)`T_INDEX`ON`T`.ID =`T_INDEX`.ID;
EXPLAINSELECT[SOMETHING]FROM`TABLE``T`JOIN(SELECT ID
        FROM`TABLE`ORDERBY[SOMETHING]LIMIT5000000,10)`T _INDEX`USING(ID);

方案二:利用键值

仅限于主键自增,且保证ID连续无中断(例如:历史删除均是伪删除)。

  1. WHERE

假设自增从137开始:

EXPLAINSELECT[SOMETHING]FROM`TABLE`WHERE ID >=(137+5000000)LIMIT10;
  1. BETWEEN AND
EXPLAINSELECT[SOMETHING]FROM`TABLE`WHERE ID BETWEEN[VAL1]AND[VAL2];

除此之外,还可以考虑缓存分页等手段进行优化。

标签: mysql 性能优化

本文转载自: https://blog.csdn.net/weixin_43275385/article/details/123762661
版权归原作者 SurfingMaster 所有, 如有侵权,请联系我们删除。

“MySQL优化手册概要——LIMIT优化”的评论:

还没有评论