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 の使用法 » クエリ処理 » クエリの最適化と実行 » オプティマイザの仕組み » オプティマイザの基本となる仮定条件

 

仮想メモリは貴重なリソースである

オペレーティング・システムといくつかのアプリケーションは、コンピュータのメモリを頻繁に共有します。SQL Anywhere は、メモリを貴重なリソースとして扱います。SQL Anywhere はメモリを経済的に使用するので、比較的小さなコンピュータ上で実行できます。ポータブル・コンピュータや古い機種のコンピュータでデータベースを操作する場合に、この経済性は重要です。

たとえば、カーソルの中身を保持するために追加メモリを予約すると、コストがかかります。バッファ・キャッシュが一杯であれば、1 ページまたは複数のページをディスクに書き込み、新しいページの領域を確保しなければなりません。後続の操作を完了するために、数ページの再読み込みが必要になることもあります。

SQL Anywhere はこの状況を認識し、追加バッファ・キャッシュ・オーバヘッドを必要とする実行プランに高いコストがかかるようにしています。このコストにより、オプティマイザはワーク・テーブルを使用するプランを選択しないようになっています。

一方、パフォーマンスの向上のために、オプティマイザがメモリを使用するのは大切なことです。たとえば、サブクエリの結果がクエリの処理中に繰り返し必要になる場合、これらの結果をキャッシュします。