普通分頁語句:
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關鍵字可以接受乙個或者兩個數字引數。需要注意的是,這個引數必須是乙個整數常量。如果使用者給定兩個引數,則第乙個引數表示第乙...