После прочтения Вопросов и Ответов с этого сайта об индексах у меня возник вопрос.
Что делать, если использовать таблицу измерения времени с более низким уровнем детализации, являющимся днем. Куда нужно ставить индексы?
Рэнди Мелдер в вопросе: что означает «индекс» в РСУБД? сказал :
Думайте об индексе как о «оглавлении» ... это упорядоченный список указателей на позиции в файле, то есть смещения
В случае измерения времени большинство исследований данных может проводиться либо для определенного дня, конкретной недели, определенного месяца или определенного квартала, если в таблице времени хранится весь день для уникального года .
Мой вопрос: нужно ли ставить индексы для всех этих полей?
Предполагается, что день уникален, поэтому я прекрасно понимаю использование индексов. Но идентификатор недели будет иметь 7 событий , идентификатор месяца будет иметь 30/31 событий , идентификатор квартала будет иметь более или менее 120 событий .
- Стоит ли ставить индексы для этих полей?
- Это все еще будет полезно?
Я спрашиваю вас об этом, потому что в том же вопросе Дэвид Спиллетт сказал:
Конечно, добавление слишком большого количества индексов может быть плохой оптимизацией, поскольку дополнительное пространство, используемое для хранения индексов (и нагрузка ввода-вывода для их поддержания, если ваша БД видит много операций записи), может быть более серьезной проблемой, чем чуть менее оптимальные запросы чтения. так что не переусердствуйте.
Итак, каковы наилучшие соображения для случая измерения времени?