MySQL limit 的 优化 原理 ?


MySQL  limit 分页 优化网上有很多的优化方案,一些确实能够提高几倍乃至数百倍的性能优化。至于是哪些方案本文不进行描述了,搜索引擎一搜就出来了很多优秀的文章。

本文主要来进行思考那些limit 优化到底是如何优化的,从MySQL的执行计划来分析。

 

MySQL 执行计划 : EXPLAIN 关键字   eg: EXPLAIN SELECT * FROM salaries (explain是什么?)

 

查看反编结果: 命令 SHOW WARNINGS  观察mysql 反编译后的语句 (在早期版本中,使用show warings 需要提前在被分析的SQL语句前加上EXTENDED 关键字, 在现在的通用的版本中这个关键字已被默认加在执行语句前)

 

通过explain的执行计划查看 执行详情,里面的type,keys,extra属性 , 凡是limit 分页慢的基本都是全表扫描,只要能不是全表扫描性能都能有很大的提升,limit 优化的方案中大多数都使用了索引(只不过很多人都不知道SQL使用了), 基本上limit 优化都使用了覆盖索引(给大家留个疑问:覆盖索引是什么?)  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM