程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql limit查詢語句的優化技巧分享,mysqllimit

mysql limit查詢語句的優化技巧分享,mysqllimit

編輯:MySQL綜合教程

mysql limit查詢語句的優化技巧分享,mysqllimit


當我們的網站達到一定的規模時,網站的各種優化是必須要進行的。而網站的優化中,針對數據庫各種優化是最重點的了。下面作者將要和大家分享一下MySQL數據庫中的查詢語句有關limit語句的優化。

大家都知道一般limit是用在分頁的程序的分頁上的,當你的應用數據量夠小的時候,也許你感覺不到limit語句的任何問題,但當查詢數據量達到一定程度的時候,limit的性能就會急劇下降。這個是通過大量實例得出來的結論。

下面通過具體的案例來說明,這裡是對同一張表在不同的地方取10條數據:

1)offset比較小的時候

select * from user limit 10,10;

這條SQL語句多次運行,時間保持在0.0004-0.0005之間。

Select * From user Where uid >=( Select uid From user Order By uid limit 10,1 ) limit 10;

這條SQL語句多次運行,時間保持在0.0005-0.0006之間,主要是0.0006。

結論:偏移offset較小的時候,直接使用limit較優。這個顯然是子查詢的原因。

 

(2)offset大的時候

select * from user limit 10000,10;

這條SQL語句多次運行,時間保持在0.0187左右

Select * From user Where uid >=( Select uid From user Order By uid limit 10000,1 ) limit 10;

這條SQL語句多次運行,時間保持在0.0061左右,只有前者的1/3。可以預計offset越大,後者越優。

 

經過以上對比,我們得出一個結論是使用limit語句時,當數據量偏移量較小的時候可以直接使用limit,當數據量偏移量較大的時候,我們可以適當的使用子查詢來做相關的性能優化。

 

相關閱讀:

mysql 高效的limit分頁查詢案例分享

mysql limit 分頁的用法與注意事項

mysql limit分頁優化之我見

mysql limit查詢語句的優化技巧分享

mysql limit 實例詳解

MySQL UNION 中使用 LIMIT實例

 

原文地址:http://www.manongjc.com/article/620.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved