インデックス・コンサルタントに用意されている SQL スクリプトを実行することで、その結果を実装することもできますが、結果を評価してから実装することが必要な場合もあります。たとえば、分析中に提案されたインデックスの名前を変更する場合などです。
結果を評価する際には、次の点を検討してください。
提案されたインデックスは、期待どおりか。 データベース内のデータと、データベースに対して実行されるクエリをよく理解している場合は、提案されたインデックスの有用性を自分自身の知識に照らして確認するとよい場合があります。提案されたインデックスがめったに実行されない単一のクエリにのみ影響する場合や、小さなテーブルに対するインデックスで全体への影響があまりない場合もあります。インデックス・コンサルタントが削除するように提案したインデックスが、トレーシング・セッションに含まれていなかった他のタスクに使用される場合もあります。
提案されたインデックスの効果に密接な相関関係はあるか。 インデックスの推奨では、各インデックスの相対利益を別々に評価しようとします。しかし、2 つのインデックスが、両方とも存在する場合のみ使用される (クエリは両方存在する場合のみ両方を使用し、どちらかが欠けていれば両方とも使用しない) こともあります。[要求] タブで、提案されたインデックスがどのように使用されているかクエリ・プランを検査できます。
クラスタード・インデックスを作成するときにテーブルを再編成できるか。 クラスタード・インデックスを最大限に生かすには、インデックスが作成されるテーブルを REORGANIZE TABLE 文を使用して再編成する必要があります。インデックス・コンサルタントが多数のクラスタード・インデックスを推奨する場合は、最大の利益を得るために、データベースをアンロードし、再ロードする必要がある場合があります。テーブルのアンロードと再ロードには時間がかかる可能性があり、大量のディスク領域リソースが必要になることがあります。推奨内容を実装するために必要な時間とリソースがあることを確認した方がよいでしょう。
分析中のサーバと接続の状態は、運用中の現実的な状態を反映しているか。 分析の結果は、どのデータがキャッシュにあるかなど、データベース・サーバの状態に依存します。また、一部のデータベース・オプションの設定などの、接続の状態にも依存します。分析では仮想インデックスのみが作成され、実際に要求は実行されないため、分析中のデータベース・サーバの状態は、基本的に静的です (ただし、他の接続によってもたらされた変更を除きます)。分析時の状態がデータベースの典型的なオペレーションでなかった場合は、違う状況で分析を再度実行した方がよい場合があります。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |