|
SQLステートメントで最高の設計を行うのは非常に複雑で挑戦的な仕事です。SQLオプチマイザはデータベースに送られるSQLクエリを分析し、データベースにアクセスする最も良い方法を選択します。クエリの最適化はデータの配置によって大きく変わります。しばしば、オプチマイザはサンプルやデータベースエンジンが供給する利用統計を用いて、自ら統計資料を集め、実行に最適な方法を計算します。従って、最高の方法を知るためには、CPUに集中的な操作を行わせる必要があり、本質的に事前に検知することが困難です。データの配置変更やサブクエリの処理などにより非常に大きく変わってしまいます。
リアルタイムの組込みシステムでは、性能が予想できることが重要です。eXtremeSQLが行っているルールベースのオプチマイザはより適切に処理します。更に、eXtremeSQLオプチマイザは自分自身の実行計画をアプリケーションが指定することを可能にします。例えば、オプチマイザはクエリでテーブルを再配置することは決してありません。結合はクエリで指定されたテーブルのシーケンスで行われます。その他の、いくつかんの重要な規則がクエリの最適化のために使用されます。
|
●
|
可能な場合はインデックスを使用します。
|
|
●
|
各テーブルはFROMリストのポジションで現されたインデックスを割り当てます。
|
|
●
|
サーチは結合のセットにより分けられ、そのセットがソートされます。従って、小さなインデックスでテーブルにアクセスする表現が最初にチェックされます。
|
サブクエリの実行はサブクエリの式の依存をチェックして最適化さます。サブクエリの結果は保存され、有効範囲内のフィールドを参照するサブクエリの場合にのみ再計算されます。
|