インデックス選択性は、SQLクエリのパフォーマンスを最適化する重要な要素です。 インデックスフィルタのデータがどれだけよく、データ検索速度を影響するのかを測定します。 インデックス選択率の把握と計算は、データベース管理者が最も効果的なインデックスを選択することでクエリの効率を向上させるのに役立ちます。

インデックス選択性とは?

インデックス選択性は、行の総数に対して相対的な列内の一意の値の割合を指します。高い選択性は、列に多くのユニークな値があり、インデックスをより有効にすることを示しています。逆に、低選択性は、インデックスの有用性を削減し、多くの重複値を提案します。

インデックス選択性を計算する

インデックス選択性のための式は簡単です。

[]選択性 = ユニーク値の数 / 列の総数[]

例えば、テーブルに1,000行の列と900のユニークな値を持つ列がある場合、選択率は0.9で、インデックス化の有効性が高まります。

実データ例

顧客データの表を10,000行で検討してください。 "Country" 列には、50 の固有の国名が含まれています。 選択性は次のとおりです。

0.005 = 50 / 10,000]

この低選択性は、"Country" 列をインデックス化することは、クエリのパフォーマンスを大幅に向上させることが示唆されています。代わりに、10,000 のユニークな値を持つ「顧客 ID」のような、より高い選択性を持つ列に焦点を当てることは、より有益です。

クエリ最適化のためのインプリケーション

インデックス選択性を計算すると、どの列がインデックスにするかを決定するのに役立ちます。 選択性の高い列は、通常、インデックス作成の候補が向上し、クエリ実行が高速化します。 低選択性列は、他の最適化戦略やコンポジットインデックスに適した場合があります。