2012-02-09 11 views
1

SQL Server 2000で既存のインデックスを削除した場合(そして2008 R2と同様の効果がありますか?)、最悪の場合はどうなりますか?インデックスを削除するときに何が起こる可能性がありますか?

私はそれがいくつかのクエリを遅くする可能性があることを理解しますが、その最悪のことが起こることができますか?

インデックスチューニングウィザードを見て、既存のすべてのインデックスを保持する必要があるかどうかを判断しようとしています。過去のDBAが間違ったインデックスを適用した場合はどうなりますか?チューニングウィザードを使用すると、既存の電源を切っておくと、より高い改善率が得られます。

+0

+1いい質問です! –

答えて

2
  • 時々劇的
  • データunconsistancyに起こすので、できるユニークなインデックスをドロップする、スローダウン - さらに劇的は、パフォーマンスを低下させることができ
  • を - 間違ったクエリが計算列に索引をドロップ
  • 結果バッファプールの使用量が増加するため、CLRコードをロードするメモリや定期的なクエリを処理するサービスが拒否される可能性があります。メモリが不足しているため、より頻繁に
  • を再コンパイル引き起こす可能性がOPはパス「インデックスを削除したことがない」LEDダウンされる前に、より多くのデッドロック
  • が重くIOサブシステム
+0

があります。問題のテーブルには列はありません。また、どのようにして不整合なデータが発生する可能性がありますか? – MAW74656

+1

@ MAW74656一意の列に2つの表を結合することを検討してください。例えば1行目の結果が生成された場合、uniqunessがなくなった後、joinによってさらに多くの行が生成される可能性があります。さらに、** sum **のような集計関数がある場合、その結果は –

+0

になります。インデックスを削除してはいけないと思います... – MAW74656

2

インデックスが一意のインデックスである場合、重複する値が挿入されないようにします。それをドロップすると、適切でないところに一意の値を入力することができます。

+0

- それは制約だと思いましたか? – MAW74656

+3

すべてのUNIQUE制約には、基になるUNIQUE INDEX –

2

に圧力を増やすことができます引き起こす可能性があります私に強調して言わせてください。決して決して言わないでください。

索引では、削除する以上にコストがかかることがあります。これを調べるには、sys.dm_db_index_usage_stats(書き込みアクティビティ量は多いが読み込みアクティビティの多いインデックスを示すインデックスなど)があります。

現実的なデータと現実的な負荷で、常に孤立した環境で変更をテストする必要があります。

+0

HA HA HA!隔離された環境!? HA HA HA ... – MAW74656

+1

なぜそれは面白いですか?それらを適切かつ徹底的にテストせずに、すべての変更をプロダクションに行っていますか?もしそうなら、私は笑っていないだろう。私はおそらく私の履歴書を捨てるだろう。 –

+0

- テスト環境のある場所で作業する場合は非常にラッキーです。私の場所は安く、あなたはそれを生きているか、まったくやっていない。 – MAW74656

関連する問題