今日、テーブルに SQL インデックスを作成したくない場合について質問されました。
私が考えることができる唯一のことは、それが必要ない場合 (つまり、小さなテーブル) です。その答えは正しくないように感じます。インデックスを使用する必要がある場合と使用しない場合のしきい値はありますか?
今日、テーブルに SQL インデックスを作成したくない場合について質問されました。
私が考えることができる唯一のことは、それが必要ない場合 (つまり、小さなテーブル) です。その答えは正しくないように感じます。インデックスを使用する必要がある場合と使用しない場合のしきい値はありますか?
経験則として、小さなテーブル (約 100,000 行未満) では、主キーの一意のインデックスを除くすべてのインデックスを削除します。
また、列が検索目的でない場合 (従業員の給与など)、インデックスを使用することは適切ではありません。
反対の質問で答えることができます:いつインデックスが必要ですか?
エントリを検索して結果をより速く取得するには、インデックスが必要です。たとえば、列が where 句で使用されている場合です。もちろん、すべてのインデックスを作成することもできますが、インデックスを作成すると余分なメモリ/ハードディスクを使用することになります。したがって、行を見つけるために使用する列のみにインデックスを付けます。
たとえば、MySQL が行を検索しようとしているときに読み取っている行は、EXPLAIN コマンドで分析できます。
これは役に立ちますか?