高效的MySql分頁語句
select * from tbl_user where 主鍵 is not null limit 80,10
------------------------------------------------------------
select * from tbl_user where 主鍵 符合什么條件 limit 80,10
-----------------------------------------------------------
select * from tbl_user where 索引列條件 limit 80,10
------------------------------------------------------------
看你數據索引聚集程度,如果聚集程度較高,接近100%
那么
select * from tbl_user limit xx,xx 就是最好的分頁
此時你用不用索引也差不多!到時IO的傳輸成為速度的瓶頸!
在mysql 數據庫下,基于sql 語言的分頁語句
樓主問的是mysql下的吧
"QUERY_SQL limit ?,?"
QUERY_SQL 就是查詢語句,比如select sno,sname from student limit 1,15;
使用limit關鍵字,第一個"?"是起始行號,
第二個"?"是返回條目數
=====================================================
另外提供給LZ其他數據庫的分頁語句
Oracle
SELECT * FROM
( SELECT A.*, ROWNUM RN
FROM
(QUERY_SQL ) A
WHERE ROWNUM
<= ?) WHERE RN >= ?
結合rownum關鍵字,利用嵌套三層select
語句實現。第一個"?"表示終止行號,
第二個"?"表示其實行號
==============================================
Sql Server
尚無通用語句 可使用top n來返回前n條記錄或使用存儲過程
================================================
DB2
假設查詢語句:select t1.* from t1 order
by *; 分頁語句可為:
"select * from ( select rownumber() over
(order by *) as row_, t1.* from t1
order by *) as temp_ where row_
between ?+1 and ?"
返回兩個"?"之間的記錄
===================================================
InterBase
“QUERY_SQL row ? to ?”
返回兩個"?"之間的記錄
PostgreSQL “QUERY_SQL limit ? offset ?”
第一個"?"為起始行號,第二個"?"代表
返回記錄數
=======================================================