Не кластерированные индексы замедляются вставки?

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

  •  04-10-2019
  •  | 
  •  

Вопрос

Я работаю в SQL Server 2005. У меня есть таблица журнала событий, которая отслеживает действия пользователя, и я хочу убедиться, что вставки в таблицу как можно быстрее. В настоящее время таблица не имеет никаких показателей. Добавляет ли один не кластерный индекс замедляет вообще вставки? Или это только кластерные индексы, которые замедляют вставки? Или я должен просто добавить кластерный индекс и не беспокоиться об этом?

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

Решение

Индексы, кластеризованные или не кластеризованные, всегда будут замедлять вставки, так как SQL должен поддерживать как таблицу, так и индекс. Это замедление находится в «абсолютном» смысле, и вы не можете этого заметить. Я бы добавил все возможные показатели для получения ваших данных.

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

Да, любой индекс займет немного времени, чтобы сохранить в курсе INSERT, UPDATE, DELETE Операции. Чем больше индексов у вас есть, тем больше времени мы говорим.

Но в конечном итоге это зависит от того, что для вас более важно - хорошая производительность запроса (затем добавить индексы по мере необходимости) или хорошую производительность вставки (тогда иметь как можно меньше индексов).

Какая операция вы работаете чаще ??

Это связано с тем, что каждый вторичный индекс в MySQL (и любой другой двигателе базы данных) является отдельным пулом хранения, как правило, организован как какой-то тип B-дерева.

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

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

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