SQL Server: импорт больших данных с кластерным индексом - PullRequest
0 голосов
/ 22 апреля 2019

С точки зрения производительности, помогает ли кластеризованный индекс при массовой вставке сотен миллионов строк в таблицу?

LE: после ВСТАВКИ мне нужно запустить базу данных в производство, поэтому мне придетсясоздать один или несколько индексов.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019

Кластерный индекс указывает, что данные упорядочены на страницах данных.

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

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

0 голосов
/ 22 апреля 2019

Индексы предназначены для ускорения поиска ( SELECT ) строк.Они имеют анти-эффект только в отношении INSERT или DELETE или UPDATE .И, в вашем случае, если INSERT является преобладающей операцией, выполняемой в вашей системе, вообще не используйте индексы.Даже в вашей производственной системе оцените соотношение между операциями извлечения и операциями вставки / обновления, и если окажется, что операция извлечения будет доминирующей, вы можете подумать об индексах.

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

Подробнее об этом можно узнать здесь: https://www.geeksforgeeks.org/sql-indexes/

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