インデックスを使用するとパフォーマンスが大幅に向上するという話をよく耳にしますが、パフォーマンスが低下することもあります。
メモリを使用するだけでなく、どのようにパフォーマンスを低下させることができますか?
特定のテーブルへの書き込み時間を最適化したいが、読み取り時間を気にしない場合、インデックス (PK 以外) を使用しない方がよいでしょうか?
書き込みと更新では、インデックス付きの値を作成または修正する必要があります。したがって、テーブルに多数のインデックスがある場合、これらは遅くなる可能性があります。読み取り時間をまったく気にしない場合は、インデックスを使用しないでください。
ただし、優れたインデックスは読み取りパフォーマンスを大幅に向上させますが、書き込みパフォーマンスはわずかに低下させるだけです。
そうです -- 関心があるのが書き込みだけである場合は、インデックスを使用しないでください。どのインデックスでも、書き込みが遅くなります。
インデックスは、読み取りパフォーマンスを向上させるように設計されています。インデックスの一般的な考え方は、データを見つけるためにテーブル全体をスキャンする必要がなく、データベース エンジンがより迅速にアクセスできるように、頻繁に読み取られるデータを格納することです。トレードオフは、インデックス付きデータをテーブルに書き込むたびに、インデックスも更新する必要があることです。したがって、インデックスは読み取りパフォーマンスを向上させますが、書き込みパフォーマンスを低下させます。