工作總結 大資料表分頁查詢優化

2021-08-19 17:58:16 字數 546 閱讀 5281

在我們進行資料查詢時,不可避免要碰到分頁的問題。我們通常會在返回資料**頁面下方顯示如下資訊用於對分頁的資訊的操作:

總數: 200  [首頁]

[尾頁]

使用sql語句計算出符合條件的記錄總數

select count(1) from table where *** in (1,2,3)

通過如下的sql獲取指定頁面的資料

select * from table where *** in (1,2,3) order by id limit #offset#, 10

如果表的資料量達到千萬、億級的數量級時,以上方法就不可行了。使用以上的sql語句計算符合條件的資料總數時,會花費大量的時間。我們可以使用如下方法解決這個問題

避免總數的查詢

新的分頁的資訊的操作格式如下:

事實上google就是這樣做的。在檢視第一頁搜尋結果的時候google只會顯示前十頁(共100個條目),並不顯示搜尋結果條目總共有多少。檢視第二頁的時候,僅僅會多顯示一頁。

如果必須要顯示總數,可以使用如下方法

mysql大資料量分頁查詢優化總結

mysql的分頁查詢十分簡單,但是當資料量大的時候一般的分頁就吃不消了。傳統分頁查詢 select c1,c2,cn from table limit n,m mysql的limit工作原理就是先讀取前面n條記錄,然後拋棄前n條,讀後面m條想要的,所以n越大,偏移量越大,效能就越差。1 limit語...

mysql大資料量分頁查詢優化

參考文章 mysql的分頁查詢十分簡單,但是當資料量大的時候一般的分頁就吃不消了。傳統分頁查詢 select c1,c2,cn from table limit n,m mysql的limit工作原理就是先讀取前面n條記錄,然後拋棄前n條,讀後面m條想要的,所以n越大,偏移量越大,效能就越差。1 盡...

mysql大資料量分頁查詢優化

參考文章 mysql的分頁查詢十分簡單,但是當資料量大的時候一般的分頁就吃不消了。傳統分頁查詢 select c1,c2,cn from table limit n,m mysql的limit工作原理就是先讀取前面n條記錄,然後拋棄前n條,讀後面m條想要的,所以n越大,偏移量越大,效能就越差。1 盡...