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