タグ付けされた質問 「offset-fetch」

3
OFFSET…FETCHと古いスタイルのROW_NUMBERスキームとの間に実行計画の違いがあるのはなぜですか?
OFFSET ... FETCHSQL Server 2012で導入された新しいモデルは、シンプルで高速なページングを提供します。2つの形式が意味的に同一であり、非常に一般的であることを考慮すると、なぜまったく違いがあるのですか? オプティマイザーが両方を認識し、それらを(簡単に)最大限に最適化すると仮定します。 OFFSET ... FETCHこれは、コストの見積もりによると2倍速い非常に単純なケースです。 SELECT * INTO #objects FROM sys.objects SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY object_id) r FROM #objects ) x WHERE r >= 30 AND r < (30 + 10) ORDER BY object_id SELECT * FROM #objects ORDER BY …

3
SQL Serverエラー、「FETCHステートメントでのオプションFIRSTの使用法が無効です。」
2012年以降、SQL Serverのドキュメントは、OFFSET..FETCH私がの代わりに使用しようとしているものをサポートしていることを示していLIMITます。 以下はPostgreSQLで正常に動作し、結果セットをサンプリングします。 SELECT * FROM ( VALUES (1),(2),(3) ) AS t(x) OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY; しかし、SQL Serverでは、 Msg 153, Level 15, State 2, Line 4 Invalid usage of the option FIRST in the FETCH statement. 何が起きてる?SQL Serverは標準化されたOFFSET..をサポートしていますFETCHか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.