MY_TABLE
約900万行のテーブルがあります。
このテーブルには合計 38 の列があります。私の質問に関連する列は次のとおりです。
RECORD_ID
: ID、bigint、一意のクラスター化インデックス付きRECORD_CREATED
: 日時、一意でない非クラスター化インデックス付き
ここで、次の 2 つのクエリを実行します。データは一意のクラスター化インデックスを持つ列によって並べ替えられているため、最初のクエリの実行速度は当然ながら 271 倍 (!) 遅くなります。
SELECT TOP 1
RECORD_ID
FROM
MY_TABLE
WHERE
RECORD_CREATED >= '20140801'
ORDER BY
RECORD_ID
SELECT TOP 1
RECORD_ID
FROM
MY_TABLE
WHERE
RECORD_CREATED >= '20140801'
ORDER BY
RECORD_CREATED
実行時間は、それぞれ 1630 ミリ秒と 6 ミリ秒です。
お知らせ下さい。
PS : 環境のセキュリティ ポリシーにより、実行計画や使用が表示されませんSQL Profiler
。