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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » パフォーマンスの向上、診断、モニタリング » パフォーマンス向上のヒント

 

明示的な選択性推定の提供を控える

場合によっては、統計が不正確になることがあります。このような状況が最も発生しやすいのは、大量のデータが追加、更新、または削除されてから実行されたクエリが少ない場合です。統計が不正確な場合、または利用できない場合、パフォーマンスに悪影響を与えます。統計の更新に SQL Anywhere が長時間要している場合、CREATE STATISTICS または DROP STATISTICS を実行して、統計をリフレッシュしてください。

SQL Anywhere では、LOAD TABLE 文の実行時、クエリの実行中、また更新 DML 文の実行時にも一部の統計が更新されます。

ただし、特異な状況では、この方法では効果的でないことがあります。条件の成功する確率がオプティマイザーの推定とは異なることがあらかじめ判明している場合、ユーザー推定を明示的に探索条件として指定できます。

ユーザー定義の推定はパフォーマンスを改善することがありますが、継続的に使用される文にユーザー定義の推定を明示的に指定しないでください。データが変更されると、明示的な推定が不正確になり、オプティマイザーが誤って不適切なプランを選択することがあります。

ソフトウェアによって選択されたアクセスプランが不適切であり、パフォーマンス問題を回避するために選択性推定を使用したものの、それが不正確であった場合は、user_estimates を Off に設定して、値を無視できます。

 参照