MySQL分頁查詢優化

2021-10-08 08:54:12 字數 552 閱讀 4917

利用延遲關聯或者子查詢優化超多分頁場景。

說明:mysql 並不是跳過 offset 行,而是取 offset+n 行,然後返回放棄前 offset 行,返回 n 行,那當offset 特別大的時候,效率就非常的低下,要麼控制返回的總頁數,要麼對超過特定閾值的頁數進行 sql

優化前sql:

select

*from table1 where 條件 limit

100000,20

;

優化後sql:

select a.

*from 表 1 a,

(select id from 表 1

where 條件 limit

100000,20

) b where a.id=b.id

優化思想:

通過使用覆蓋索引查詢返回需要的主鍵,再根據主鍵關聯原表獲得需要的資料,而不是通過二級索引獲取主鍵再通過主鍵去遍歷資料頁。

mysql 分頁優化 Mysql 查詢分頁優化

全表掃瞄,速度極慢 limit 語句的查詢時間與起始記錄的位置成正比 mysql 的 limit 語句是很方便,但是對記錄很多的表並不適合直接使用 建立測試表 drop table if exists t user create table test t user id int 10 unsigne...

Mysql 分頁查詢優化

分頁查詢優化 分頁查詢在 mysql 中常遇到,如以下語句 select from tablename limit 100,20 用時大約需要0.03 sec。用時很短。但是隨著偏移量的增加,查詢時間也隨之增加。比如如下 select from tablename limit 10000000,20...

MySQL分頁查詢優化

當需要從資料庫查詢的表有上萬條記錄的時候,一次性查詢所有結果會變得很慢,特別是隨著資料量的增加特別明顯,這時需要使用分頁查詢。對於資料庫分頁查詢,也有很多種方法和優化的點。下面簡單說一下我知道的一些方法。為了對下面列舉的一些優化進行測試,下面針對已有的一張表進行說明。三次查詢時間分別為 一般的分頁查...