優化mysql的 LIMIT 頁語句

2021-10-01 12:53:46 字數 662 閱讀 1486

普通分頁語句:

select

*from tablename limit

(pageno-1)

*pagesize,pagesize

據說當查詢語句中 (pageno-1)*pagesize > 100 時會影響sql語句效率

tablename表的主鍵自增時 可以使用

select

*from tablename

where c_id >=(

select c_id from tablename limit

(pageno-1)

*pagesize,1)

limit pagesize

原理:當語句僅查詢id時,會比查詢所有列耗時短,於是上文先使用耗時較短的語句定位id位置,然後取後【pagesize】條資料

也可以用:

select

*from tablename a

join

(select id from tablename limit

(pageno-1)

*pagesize, pagesize) b

on a.id = b.id

mysql中limit的優化

mysql的優化是非常重要的。其他最常用也最需要優化的就是limit。mysql的limit給分頁帶來了極大的方便,但資料量一大的時候,limit的效能就急劇下降。同樣是取10條資料 select from yanxue8 visit limit 10000,10 和 select from yan...

MySQL中limit的優化

1.子查詢優化法 先找出第一條資料,然後大於等於這條資料的id就是要獲取的資料 缺點 資料必須是連續的,可以說不能有where條件,where條件會篩選資料,導致資料失去連續性 2.倒排表優化法 倒排表法類似建立索引,用一張表來維護頁數,然後通過高效的連線得到資料 缺點 只適合資料數固定的情況,資料...

mysql做好Limit優化

使用mysql時,往往需要指定返回幾行資料,此時可以使用limit關鍵字來實現這個需求。limit子句可以被用於強制select查詢語句返回指定的記錄數量。通常情況下,limit關鍵字可以接受乙個或者兩個數字引數。需要注意的是,這個引數必須是乙個整數常量。如果使用者給定兩個引數,則第乙個引數表示第乙...