web-dev-qa-db-ja.com

MSSQL-Server:インデックスの再構築と再編成および統計の更新

非常に遅いデータベース(MS SQL SERVER)がありました。これで、インデックスが再構築されたり、再編成されたりすることはないことがわかりました。 (現時点では、これが本当に問題であったかどうかは明らかではありませんが、今は頻繁にこれを実行したいと考えています。)

しかし、今の質問:インデックスを再構築する方が良いですか、それとも再編成する方が良いですか?現時点では90%以上の断片化があったので、再構築しました。しかし、私がそれを頻繁にやりたいのであれば、断片化は通常より低くなります。それで、再構築する代わりにそれを再編成する方が理にかなっていますか?そして、例外なくすべてのMS SQL Serverでそのために頻繁にタスクを実行しますか?すべてのMSSQL-Serverで意味がありますか?

また、このタスクをどのくらいの頻度で実行する必要があるかについての推奨事項はありますか?週に一度?月に一度?

また、ブログで、再構築/再編成後に「更新統計」も作成することを確認しました。これは推奨されますか、それともナンセンスですか? (私はブログで両方を見つけました。->一方は言った:はい、それをします->その他:ナンセンス!)

そして、あなたの経験は何ですか?これらのタスク(再構築/再編成/統計)は多くのパフォーマンスを必要としますか?

多くの質問!ごめんなさい!

1
frupfrup

これらの質問に答える情報はたくさんあります。答えは:それは異なります。定期的なインデックスのメンテナンスと統計の更新は非常に重要ですが、それは確かです。ただし、環境に基づいて、いつどのようにそれを行うかについて、調査と調整を行う必要があります。

良いスタートとして、これらを読んでください:

2
squillman

Squillmanが言ったことだけでなく、 Ola Hallengrenのスクリプト のようなものを使用することを検討することもできます。これは必要なだけの作業を行います。インデックスを再構築または再編成する前に、インデックスの断片化の量をカスタマイズできます。これにより、インデックスの再作成に伴う作業量が削減されます。

でも、はい。これは、環境、ロードのタイプ(主に選択、主に挿入/更新/削除)などによって異なります。

0