Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベースの作成 » データベース・オブジェクトの使用 » インデックスの操作

 

インデックス・ヒント

クエリの作成時にインテックス・ヒントを指定できます。インデックス・ヒントは、特定のインデックスを強制的に使用させることにより、オプティマイザによるクエリ・アクセス・プランの選択を上書きします。通常、インデックス・ヒントはオプティマイザのプランの選択を評価する場合のみに使用され、上級ユーザやデータベース管理者のみが使用します。インデックス・ヒントが不適切なアプリケーションでは、クエリのパフォーマンスが低下する場合があります。

インデックス・ヒントは FROM 句のサブ句を使用して指定します。たとえば、INDEX 句を使用すると 4 つまでのインデックスを指定できます。オプティマイザは、指定されたすべてのインデックスを使用できる必要があります。使用できない場合はエラーが返されます。

クエリでインデックスの使用を無効にするには NO INDEX を指定します。代わりにテーブルの逐次スキャンが強制的に実行されます。ただし、逐次スキャンはコストが非常に高く、実行に時間がかかります。この句は、オプティマイザのインデックスの選択を評価する場合に比較の目的のみで使用してください。

デフォルトでは、インデックス・データのみを使用してクエリの条件を満たすことができる場合 (つまり、テーブル内のローにアクセスする必要がない場合)、データベース・サーバはインデックス専用取得を実行します。ただし、インデックス専用取得でインデックスを使用できない (たとえば、インデックスが変更されたか削除された) というエラーがイベントで返されるように、INDEX ONLY ON を指定することもできます。

FROM 句で指定できるインデックス・ヒント句の詳細については、FROM 句を参照してください。