Добавление индексов часто предлагается здесь как средство от проблем с производительностью.
(я говорю только о чтении и запросах, мы все знаем, что индексы могут замедлить запись).
IЯ пробовал это средство много раз, на протяжении многих лет, как на DB2, так и на MSSQL, и результат всегда был разочаровывающим.
Я обнаружил, что независимо от того, насколько «очевидно», что индекс улучшит ситуацию, оказалось, что оптимизатор запросов оказался умнее, а мой правильно выбранный индекс почти всегда ухудшал ситуацию.
Я должен отметить, что мой опыт связан главным образом с небольшими таблицами (<100 000 строк). </p>
Может ли кто-нибудь дать некоторые практические рекомендации по выбору для индексации?
Правильный ответ: список рекомендаций, например:
- Никогда / всегда индексировать таблицу с количеством записей NNNN меньше / больше
- Никогда / всегда не учитывать индексы для несколькихключи поля
- Никогда / всегда использовать кластерные индексы
- Никогда / всегда использовать больше, чем индексы NNN в одной таблице
- Никогда / всегда не добавлять индекс, когда [какое-то магическое условиеМне не терпится узнать о]
В идеале ответ даст несколько поучительных примеров.