特點:一次查詢,資料庫只返回一頁的資料。而不是取出所有的資料。
說明:pagesize: 每頁顯示記錄數
cureentpage:當前頁數
select * from ( select top pagesize * from ( select top pagesize*cureentpage * from user_table order by id asc ) as asystable order by id desc ) as bsystable order by id asc
例子說明:
假如資料庫表如下:
user_table:
id:主鍵,自增
username:字元
password:字元
假設有80條記錄,每頁顯示10條記錄,id 從1到80
現在按照id公升序排列取出第三頁的資料應該為:所取得記錄的id 應該為 21到30。
這時該語句應該為:
select * from ( select top 10 * from ( select top 30 * from user_table order by id asc ) as asystable order by id desc ) as bsystable order by id asc
原理如下:
先按照id從小到大公升序取出30條記錄(3*10),也就是:id 在 1-30 之間的記錄 (select top 30 * from user_table order by id asc)
然後按照id降序排列這30條記錄,得到記錄為id 在:從30到 1
然後在這些30條記錄中取出前10條記錄:取得的記錄為:id 在30-21之間。這就是我們需要的資料,但這時是按照降序排列的,不符合要求。
最後在重新排序得到最終我們需要的資料。id在21-30之間。
希望對大家有所幫助。
如有問題,希望和大家一塊交流。
最優化的ms sql server分頁sql語句
特點 一次查詢,資料庫只返回一頁的資料。而不是取出所有的資料。說明 pagesize 每頁顯示記錄數 cureentpage 當前頁數 select from select top pagesize from select top pagesize cureentpage from user tab...
MS SQL Server查詢優化方法
查詢 速度慢的原因很多,常見如下幾種 1 沒有索引或者沒有用到索引 這是查詢慢最常見的問題,是程式設計的缺陷 2 i o吞吐量小,形成了瓶頸效應。3 沒有建立計算列導致查詢不優化。4 記憶體不足 5 網路速度慢 6 查詢出的資料量過大 可以採用多次查詢,其他的方法降低資料量 7 鎖或者死鎖 這也是查...
最優化理論
最優化 optimization 應用數學的重要研究領域.它是研究在給定約束之下如何尋求某些因素 的量 以使某一 或某些 指標達到最優的一些學科的總稱.由於運籌學中出現的問題大多即是最優化所研究的問題,因此運籌學的許多分支,如數學規劃 組合最優化 排隊論,以及決策論等也是最優化的組成部分.此外,最優...