Вопрос по SQL Server - PullRequest
       19

Вопрос по SQL Server

1 голос
/ 21 декабря 2009

При создании индекса для конкретного запроса рекомендуется ли индексировать все столбцы, которые содержатся в предложении where, а затем выбрать какие-либо столбцы в разделе «включенные столбцы»? Должен ли я оставить битовые столбцы вне индекса?

Ответы [ 2 ]

4 голосов
/ 21 декабря 2009

Это всегда зависит. Существует множество факторов: размер индекса, избирательность столбцов, частота запросов, частота обновлений и т. Д. Не существует общего правила, позволяющего добавлять или добавлять битовые столбцы, ответ всегда специфичен для конкретного вопроса.

1 голос
/ 21 декабря 2009

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

Вы также платите цену за дисковое пространство, поэтому, если вы собираетесь включать очень большие столбцы в большую таблицу, вы компенсируете увеличение накладных расходов на хранение и увеличение производительности.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...