![getterとsetterについて解説します【オブジェクト指向プログラミング】](https://i.ytimg.com/vi/gEvFwg3oPBY/hqdefault.jpg)
コンテンツ
Q:
デフラグはSQLシステムに対して何をしますか?
A:
継続的なデータベースのメンテナンスと監視は、SQLシステムをスムーズに実行するために考慮すべき重要な要素です。データベースが作成され、データが入力されると、最初はデータが連続した物理的な場所に配置されます(十分な連続した物理スペースが利用可能な場合)。したがって、この場合、データの論理的順序と物理的順序は似ている可能性が高く、パフォーマンスが向上します。
データが変更、削除、または更新されると、関連するインデックスも自動的に更新され、それらの変更が反映されます。その結果、インデックスが断片化され、情報がストレージスペースに散らばります。データの物理的な順序を変更し(連続した割り当てが失われるため)、検索に時間がかかり、データベースのパフォーマンスが低下します。
この問題の解決策は、定期的に最適化を実行することです。デフラグでは、実際にインデックスを再構築または再編成して、データの論理的な順序と物理的な順序を一致させます。デフラグ操作を実行する前に、すべてのインデックスを適切に分析する必要があります。分析結果は、再編成または再構築が必要かどうかを決定します。
デフラグプロセスによって実行される2つの主な操作は次のとおりです。
- インデックスの再編成 –断片化が低レベルで、パフォーマンスに重大な影響がない場合に、インデックスの再編成が実行されます。このプロセスは、実際にリーフレベルページの物理的な順序変更を行って、論理的な順序に一致させます。新しいページは作成されません。既存のページを並べ替えるだけです。通常のデータベース操作をブロックせずに、システムがオンラインの間に再編成を実行できます。
- インデックスの再構築 –インデックスの再構築プロセスは、断片化がより深く、パフォーマンスが遅すぎる場合に実行されます。このプロセスでは、元のインデックスが削除され、新しいインデックスが作成されます。そのため、物理的および論理的な順序が元の位置に戻され、パフォーマンスが向上します。再構築では、必要に応じて新しいページを作成することもでき、オフラインまたはオンラインモードで実行できます。
したがって、デフラグはSQL Serverのメンテナンスプロセスの一部であり、真剣に検討する必要があります。適切なクエリ分析計画を作成して従う必要があります。クエリ分析の出力に基づいて、インデックスの再構築または再編成を行う必要があります。要するに、デフラグはSQLシステムのパフォーマンス向上に不可欠です。