2011-07-06 18 views
0

可能な重複してLIMIT [X] OFFSET [Y]を使用する方法: SQL ServerとLIMIT [X] OFFSET [Y]を使用する方法
Equivalent of LIMIT and OFFSET for SQL Server?SQL Server 2005の

2005年、私は、mysql、オラクル、sqllite、postgreを参照してください、マイクロソフトでは、私たちがそれを必要と認識していない?

答えて

2

LIMITのような独自のキーワードを使用するのではなく、ANSI標準を実装することを選択しました。 SQL Serverの次のバージョン(コード名「Denali」)では、OFFSET/FETCHを使用できます。

その間に、SQL Server(または余分なタイピングよりも簡単だと思う場合はスイッチプラットフォーム)で別の方法を使用する必要があります。既存のバージョンでのページングのためのいくつかのメソッドについての良い記事はこちらです:

http://www.sqlservercentral.com/articles/T-SQL/66030/

はのさまざまな側面を議論60+フォローアップのコメントを読み返すために「ディスカッションに参加」をクリックしてください提供されるソリューション

パフォーマンス上の理由から、OFFSET/FETCHは実装されていないことに注意してください。生産性のためだけです。つまり、OFFSET/FETCHは、現在使用されているROW_NUMBER()ソリューションとほぼ同じ性能を発揮します。

EDITいくつかは、デナリは最初のページ(例えばhttp://mssqltips.com/tip.asp?tip=2420)のパフォーマンスが向上例を実証しているが、これは意図していない、と私はあなたがテーブルを横断しに行くと、デルタが真のまま確信していません後のページ(特に大きなテーブル)。