與oracle和ms sqlserver相比,mysql的分頁方法簡單的讓人想哭。
--當乙個查詢語句偏移量offset很大的時候,如select * from table limit 10000,10 , 最好不要直接使用limit,而是先獲取到offset的id後,再直接使用limit size來獲取資料。效果會好很多。語法:select
*from
table limit [
offset,
] rows |
rows offset offset
--舉例:
select
*from
table limit5; --
返回前5行
select
*from
table limit0,5; --
同上,返回前5行
select
*from
table limit5,10; --
返回6-15行
如:
select語法:*from customers where customer_id >=
(select customer_id from customers order
by customer_id limit10000,1) limit
10;
select舉例:topnumber
|percent column_name(s) from table_name;
1. 選取表中前2條記錄
select2. 選取表中50%的記錄top2* from
table;
select3. 從資料庫中檢索第10—20條記錄top50 persentfrom
table;
select語法:top10*
from
testtable
where (id notin(
select
top20id
from
testtable
order
byid))
order
by id;
select column_name(s) from table_name where rownum <=舉例:1. 選取前5條記錄number
select * from persons whererownum<= 5
分頁:
--從資料庫表中第m條記錄開始檢索n條記錄
select
*from (select rownum r,t1.*
from 表名稱 t1 where rownum < m +
n) t2
where t2.r >=m--
如:從表sys_option(主鍵為sys_id)中從第10條記錄開始檢索20條記錄,語句如下
select
*from (select rownum r,t1.*
from sys_option where rownum <
30) t2
where t2.r >=
10
mysql limit分頁 SQL語句模糊查詢
在資料庫中經常要取表中記錄中間的記錄,在sql語句中使用limit 可以實現此功能select from a limit 5,20理解 從表中的第五行資料開始取資料,一共取出20條 這個用法可以實現sql語句分頁,只需要傳進頁數和每條頁數兩個引數即可以實現分頁模糊查詢語句關鍵字一般使用 llike ...
Mysql limit分頁優化
例如 優化後的子查詢語句還是需要獲取offset rows條資料,然後扔掉前offset條資料,但是只查詢了id乙個字段,對於資料量大的表來說,優化很多,而且,在優化後的語句裡可以使用byname的覆蓋索引 但個人認為更快的情況下 還是要在程式裡先計算出id的值 利用 select from tab...
mysql limit分頁優化方法
mysql的優化是非常重要的。其他最常用也最需要優化的就是limit。mysql的limit給分頁帶來了極大的方便,但資料量一大的時候,limit的效能就急劇下降。同樣是取10條資料 select from yanxue8 visit limit 10000,10 和 select from yan...