データベース クエリオプティマイザーとは何ですか? -techopediaからの定義

クエリオプティマイザーとは何ですか? -techopediaからの定義

目次:

Anonim

定義-クエリオプティマイザーの意味

クエリオプティマイザーは、構造化クエリ言語(SQL)クエリを分析し、効率的な実行メカニズムを決定する重要なデータベース管理システム(DBMS)コンポーネントです。 クエリオプティマイザーは、クエリごとに1つ以上のクエリプランを生成します。各クエリプランは、クエリの実行に使用されるメカニズムです。 最も効率的なクエリプランが選択され、クエリの実行に使用されます。


通常、データベースユーザーは、バックグラウンドで機能するクエリオプティマイザーと対話しません。

Techopediaはクエリオプティマイザーについて説明します

SQLクエリは、単純なステートメントでも複雑なステートメントでもかまいません。 各SQLステートメントは、ディスク読み取りやサーバーメモリなどの貴重なリソースの最小限の使用を必要とします。 クエリオプティマイザーは、これを保証するとともに、各SQLクエリの迅速な実行を保証します。 たとえば、クエリオプティマイザーは、リソースコストに基づいて一連のクエリプランを生成できます。 1つのクエリプランでは、テーブルの読み取りを使用してそのデータのサブセットを取得し、別のクエリプランでは、テーブルインデックスを使用してデータをすばやく読み取ります。 これらは、コストベースのオプティマイザーとして知られています。


クエリオプティマイザーは、環境の状況に応じて、同じクエリに対して異なるクエリプランを選択する場合があります。 たとえば、ユーザーはテーブルのデータの約半分を選択するクエリを実行します。 サーバーが複数の同時接続を頻繁に使用する場合、ユーザーはクエリを実行します。 このシナリオでは、クエリオプティマイザーは、作成されたテーブルインデックスを呼び出すクエリプランを使用して、限られたリソースに基づいてクエリを満たすことを決定できます。 これにより、クエリによるサーバーの流出が最小限に抑えられます。 より多くのリソースを使用して同じクエリを別のタイミングで実行することにより、クエリオプティマイザーはリソースの制限が問題ではないと判断できます。 この場合、テーブルインデックスは使用されず、クエリオプティマイザーはサーバーメモリへの完全なテーブルロードを許可します。

クエリオプティマイザーとは何ですか? -techopediaからの定義