私は、order byなしのselectステートメントを実行するときに、テーブルの行が挿入された順序になるようにしたいと考えている開発者がいます。開発者は、クラスター化インデックスから非クラスター化インデックスに変更することを提案しました。
インデックスをクラスター化から非クラスター化に変更すると、テーブルに行が表示される順序が保証されますか?
この質問は主に私の好奇心です。代わりにID列を使用することをお勧めしますが、この要求は私に考えさせられました。タイムスタンプを使用できますが、行を同時に挿入できる可能性があります。
よろしくお願いします。
クエリ結果で順序が必要な場合は、ORDER BY
。とても簡単です。
SQL ServerアーキテクトのConor Cunninghamによるこの記事をチェックしてください。
真実ではありませんが、そうだったと仮定します。行がすでにインデックスによって順序付けされている場合、順序付けのコストは非常に低くなるため、省略する必要はありません。