は、次のSQLクエリを仮定:インデックスを作成せずに、MySQLで列選択性メタデータを取得する方法は?
SELECT col1,col2 from table where col1 > 5 and col2 > 8
私は両方の条件が範囲条件であるため、MySQLは、同じテーブルインデックスを使用して、両方の列に調べることができないと信じています。 したがって、私はこのようなシナリオ(おそらく最も選択的なもの)でどの列をインデックス化するのかを判断する最良の方法は何かを理解しようとしています。
MySQLメタデータは、実際に両方のオプションのインデックスを作成してカーディナリティ情報を調べることなく、列AまたはBがより選択的であるかどうかを識別できる方法でアクセスできますか?
編集:明確にするために、目標は、インデックスなしで実行するために永遠にかかるクエリであってもそれを行う方法を見つけることです(この場合、行の数は問題になりません)。
私は明示的に質問を編集しませんでしたが、私の目標は、関連するカウント(*)クエリがインデックスなしで実行されるまで永遠にかかる場合でも、正しいインデックスを識別できることです。私は、MySQLのオプティマイザがそれを行うかどうか、どのようにして同じことを模倣しようとしています。 – Tomer
@Tomer - 私は何年も前から、インデックスを自動的に生成する方法を熟考してきました。私が持っている最高のものは[_ Cookbook_](http://mysql.rjweb.org/doc.php/index_cookbook_mysql)です。 –