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

SQL Anywhere 12.0.1 » Ultra Light データベース管理とリファレンス » Ultra Light のパフォーマンスに関するヒント » クエリのパフォーマンスに関するヒント » Ultra Light の実行プラン » オプティマイザーで使用するアクセス方法の決定 » テンポラリテーブルの管理

 

ダイレクトページスキャン

Ultra Light では、データベースページから直接情報にアクセスする方が効率的な場合、インデックススキャンの代わりにダイレクトページスキャンを使用します。ダイレクトページスキャンが使用されるのは、オプティマイザーが次の条件を確認した場合のみです。

  • 結果を効率的に返すことができる既存のインデックスがない。

  • 更新の実行にクエリが使用されない。たとえば、文が FOR READ ONLY (FOR 句が指定されていない場合のデフォルト設定) であると宣言されている場合、またはデータが更新されないことが明らかなようにクエリが記述されている場合です。

Ultra Light では、ローが格納されているページからローを直接読み込むので、クエリ結果は順序に関係なく返されます。その後のクエリ結果の順序は予想できません。ローの順序を予測可能で決定的にするには、ORDER BY 句を使用して一貫性のある順序で結果を取得する必要があります。ただし、順序が重要ではない場合は、ORDER BY 句を省略することで、クエリのパフォーマンスを向上できます。

注意

アプリケーションのプログラムに Ultra Light API の UL テーブルを使用している場合、ダイレクトページスキャンは使用できません。

Ultra Light がいつページを直接スキャンするか、または結果を返すのにどのインデックスが使用されたかを確認できます。

 参照