mysql select limit 大數據量查詢 性能終極提升方法


我們的使用mysql的時候總是想當然的使用

select  ×  from  tables  where  a>0  order  by  id  desc  limit 500000,200

當我們真正使用它查詢時發現這個很慢很慢

我個人認為這是因為mysql並沒有對該語句進行索引,即便時索引的數據,當讀取前1000條時和最后一頁時的速度差距時很大的原因在與這個limit

limit是一個很好的東西,但是由於他在查詢的過程中io操作較大尤其是limit后面的第一個值比較大的時候

我們應該怎么做呢

 

我在www.fentutu.com中使用了一種比較新奇的方法,這個方法時在163的一片博客中寫的,他當時的查詢是以mssql為主的,現在查詢卻查詢不到,我找到另一片與此文類似的 放進了引用通告中,

 

具體的方法就是 

select  from  tables  where  id >=( select  id  from  tables  where  value>0  order  by  id  desc  limit 500000,1)  and  value>0   order  by  id  desc  limit 200

就是這種類似的語句  此語句時我按照印象來的並沒有經過真正測試 理論上沒有語法錯誤,如果有的話請各位看官簡單修改之。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM