ホームページ >バックエンド開発 >PHPチュートリアル >TOP N と SET ROWCOUNT N ではどちらが速いですか? _PHP チュートリアル

TOP N と SET ROWCOUNT N ではどちらが速いですか? _PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:01:281069ブラウズ

翻訳が完了しました。大意: 適切なインデックスがある場合、Top n と set rowcount n はより速いです。しかし、順序のないスタックの場合、top n はさらに速いです。クエリから特定の数の行を返すには、SET ROWCOUNT N を使用するより TOP N 句を使用する方が高速ですか?
A.適切なインデックスを使用すると、TOP N 句と SET ROWCOUNT N ステートメントは同等に高速になりますが、ヒープからのソートされていない入力では、TOP N の方が高速になります。ソートされていない入力の場合、TOP N 演算子は、最後の行のみを置換する小さな内部ソート一時テーブルを使用します。入力がほぼソートされている場合、TOP N エンジンは最後の行を数回削除または挿入するだけで済みます。ほぼソートされたとは、最初の作成では順序付けされた挿入を含むヒープを扱い、その後は多くの更新、削除、ポインターの転送などを行わないことを意味します。
ほぼソートされたヒープは、巨大なテーブルをソートするよりも効率的にソートできます。 TOP N を使用して同じ行数で順序付けされていない挿入を含むテーブルを並べ替えるテストでは、TOP N はそれほど効率的ではなくなりました。通常、I/O 時間はインデックスありでもインデックスなしでも同じです。ただし、インデックスがない場合、SQL Server は完全なテーブル スキャンを実行する必要があります。プロセッサー時間と経過時間は、ほぼソートされたヒープの効率を示します。 SQL Server はどちらの方法でもすべての行を読み取る必要があるため、I/O 時間は同じです。




http://www.bkjia.com/PHPjc/631148.html

www.bkjia.com本当http://www.bkjia.com/PHPjc/631148.html技術記事翻訳が完了しました。大意: 適切なインデックスがある場合、Top n と set rowcount n は同様に高速です。ただし、順不同のスタックの場合、top n はさらに高速です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。