MySQL の SQL_BIG_SELECTS について
SQL_BIG_SELECTS は、非常に大規模で潜在的に問題のある SELECT クエリの実行を防ぐために設計された MySQL 最適化パラメータです。クエリが「大きすぎる」と判断されると、MySQL は次のようなエラーを返すことがあります:
ERROR 1104: The SELECT would examine too many records and probably take a very long time. Check your WHERE and use SET OPTION SQL_BIG_SELECTS=1 if the SELECT is ok
この問題に効果的に対処するには、特定の質問に対する答えを調べてみましょう:
1. 「BIG SELECTS」のしきい値
MySQL は、「max_join_size」システム変数の値に基づいて「BIG SELECT」を決定します。クエリがこの数を超える行を検査する可能性がある場合、そのようにフラグが立てられます。現在の最大結合サイズ設定を表示するには、「変数の表示」を使用します。
2.インデックス作成と Big SELECT
適切なインデックス作成と効率的な WHERE 句により、SQL_BIG_SELECTS エラーが発生するリスクを軽減できます。インデックスを使用すると、クエリの実行が高速化され、検査される行数が減ります。適切に定義された WHERE 句により、クエリの範囲がさらに縮小され、不必要なデータのスキャンを回避できます。
3.最後の手段としての SQL_BIG_SELECTS
SQL_BIG_SELECTS は一般的な解決策として使用すべきではありません。これは、過度に大規模なクエリによるシステム リソースの消費を防ぐための緊急措置として意図されています。グローバルまたはすべてのユーザーに対して設定することは避けることをお勧めします。
4. SQL_BIG_SELECTS の構成
SQL_BIG_SELECTS を設定するには、次のことができます。
5. SQL_BIG_SELECTS の代替案
SQL_BIG_SELECTS に頼る前に、次の代替案を検討してください。
以上がSQL_BIG_SELECTS とは何ですか? MySQL での SQL_BIG_SELECTS の発生を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。