Размер таблицы, где начнут индекс, начинает смысл

StackOverflow https://stackoverflow.com/questions/4403248

  •  25-09-2019
  •  | 
  •  

Вопрос

У меня есть календарный стол с 2K рядами. Это таблица поиска и будет использоваться во многих присоединениях.

Колонны есть

CalendarId (PK, Clustered)
DateTimeValue
IsWeekDay
IsWeekend
IsHoliday

Мой вопрос в том, что я хочу иметь индекс на DateTimevalue.

Когда я должен создать этот индекс?

Другими словами, насколько велик должен быть таблица, прежде чем положить индекс на нее?

Это было полезно?

Решение

Вы добавляете индекс, когда вы создаете таблицу, прежде чем первый ряд вставлен. Индексирование является частью дизайна модели данных, не каким-то последующим возражением, когда данные начнут проявлять проблемы.

Отсутствующий индекс на пустой таблице все еще отсутствует индекс.

Другие советы

Вы хотите убедиться, что у вас есть индекс на вещах, поскольку вам нужно, вы не хотите «ждать», пока он не станет проблемой .... в этот момент вы потеряли время.

Но в то же время не создавайте индекс именно ради создания одного, убедитесь, что это имеет смысл для приложения.

Например, в зависимости от вашей операции я думаю, что вы можете быть «более эффективными» для кластера на DateTimevalue, как я предполагаю, у вас есть 1 запись в день.

Всегда добавляйте индекс для начала. Стол никогда не бывает тоже небольшой иметь индекс. Индекс становится только проблемой, когда у вас есть очень большой стол, так как вставки / обновления / удаления могут замедляться.

Я думаю, что «DateTimevalue» будет естественным ключом в этой таблице? Он должен иметь уникальный индекс от начала.

Что касается других областей, маловероятно, что индексы по Pasweek или Isweekend будут использоваться оптимизатором, поскольку они имеют низкую селективность (Tasweek возвращает 71% строк).

РедактироватьТакже обратите внимание, что это в основном таблица только для чтения. Вы можете добавить любые индексы, которые вам нравятся, когда он когда-либо повлияет только на производительность записи один раз в несколько лет, когда вы добавляете данные еще много лет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top