Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb
HTML Download (TGZ) - 10.0Mb
HTML Download (Zip) - 10.1Mb


MySQL 8.0 リファレンスマニュアル  /  ...  /  サブクエリー、導出テーブル、ビュー参照および共通テーブル式の最適化

このページは機械翻訳したものです。

8.2.2 サブクエリー、導出テーブル、ビュー参照および共通テーブル式の最適化

MySQL クエリーオプティマイザには、サブクエリーの評価に使用できる様々な戦略があります:

  • IN= ANY または EXISTS 述語で使用されるサブクエリーの場合、オプティマイザには次の選択肢があります:

    • 準結合

    • 実体化

    • EXISTS 戦略

  • NOT IN<> ALL または NOT EXISTS 述語で使用されるサブクエリーの場合、オプティマイザには次の選択肢があります:

    • 実体化

    • EXISTS 戦略

導出テーブルの場合、オプティマイザには次の選択肢があります (ビュー参照および共通テーブル式にも適用されます):

  • 導出テーブルの外部クエリーブロックへのマージ

  • 導出テーブルを内部一時テーブルに実体化

次の説明では、前述の最適化戦略について詳しく説明します。

注記

サブクエリーを使用して単一のテーブルを変更する UPDATE ステートメントおよび DELETE ステートメントの制限は、オプティマイザが準結合サブクエリーまたは実体化サブクエリーの最適化を使用しないことです。 回避策として、サブクエリーではなく結合を使用する複数テーブルの UPDATE ステートメントおよび DELETE ステートメントとしてリライトしてみてください。