SQL Server はテーブル列の基数が低いかどうかをどのように判断しますか?
私が尋ねる理由は、クエリ オプティマイザーが性別列 (値 'm' と 'f') でインデックスを使用しない可能性が高いためです。ただし、その決定に至るには、性別列のカーディナリティをどのように決定するのでしょうか?
これに加えて、万一、テーブルに 100 万のエントリがあり、性別列のエントリが 1 つだけ「m」だった場合、SQL サーバーはこれを判断し、インデックスを使用してその 1 つの行を取得できますか? それとも、列に2つの異なる値しかなく、インデックスを使用しないことを知っているだけですか?
上記でいくつかの不適切なデータベース設計について説明したことを理解していますが、クエリオプティマイザーがどのように決定を下すかを理解しようとしています。
どうもありがとう。