Я протестировал два сценария A и B. Я был удивлен, что сценарий A занял 11 секунд, а B - 16 секунд.
A.
- 1) Создать временную таблицу
- 2) Создать кластерный индекс для этой временной таблицы
- 3) Используйте INSERT INTO SELECT, чтобы вставить 2 миллиона записей в эту временную таблицу
B.
- 1) Создать временную таблицу с помощью SELECT INTO (те же данные, что и в A)
- 2) Создать кластерный индекс для этой таблицы
Не могли бы вы объяснить, почему в этом случае А был быстрее, чем В?
При рассмотрении планов выполнения А вставляет в кластерный индекс. B вставляется в кучу, а затем в кластерный индекс при создании индекса. Может ли это быть причиной накладных расходов? Я был как-то убежден, что удаление всех индексов перед вставкой и повторное их создание во всех случаях будет быстрее.