2017-11-25 3 views
0

私は数十億のレコードに近づいていて、さまざまなインデックスフィールドを持っています.2つの日付の間でレコードを選択するためだけに使用し、結合のためには使用しないdatetimeです。 インデックスを解除するか、インデックスを解除することは可能ですか?datetimeフィールドのインデックスを作成することは理にかなっていますか?

+1

を求めるあなたは確かにインデックスを作成することができますあなたが望むと決めたら、インデックスを削除することができます。テストを実行して、索引を使用して問合せを高速化するかどうかを判断する必要があります。運が良かった。 –

+1

クエリでは、datetimeフィールドをフィルタとして使用します。もちろんそれは理にかなっています! –

+0

私は間違いなく、SELECT WHERE Date = '2017/11/25 20:30'のようなものを使ってはいけませんが、2つの日付の間の範囲で使用します。私はそれを維持する間違いをすることはできません知っているが、それが改善していない場合、私はそれを削除したい。私は前にいくつかのテストをしなければならないことを知っていますが、セットアップには数時間かかるので、現時点では "理論上の基礎"を知りたがっています。 – Fehu

答えて

1

WHERE句で使用されていれば、それは良い考えです。

利点があるかどうかを調べる方法は、クエリの実行計画を追加した前後に表示し、違いがあるかどうかを確認することです。

それがより効率的と同じように、クエリがインデックス内の行を大量に返却された場合、インデックスはまだ午前・インデックス・スキャンではなくインデックスを行うには、その場合には無視することができるが、

関連する問題