Сравнение с вставкой в ​​запрос лучше

Какой из нижеперечисленных запросов имеет лучшую производительность? Каков потенциал роста / недостаток для обоих запросов? Я хочу обсудить сценарий для вставки 1000 строк и 100 тыс. Строк. Спасибо.

первый

INSERT INTO table_name (col1,col2) VALUES (value1, value2); INSERT INTO table_name (col1,col2) VALUES (value3, value4); 

второй

 INSERT INTO table_name SELECT (col1,col2) FROM ( SELECT value1 as col1, value2 as col2 UNION ALL SELECT value3 as col1, value4 as col2 ) A 

Второй запрос будет работать лучше, потому что движок БД должен анализировать и выполнять только одно утверждение. Но разница будет незначительной и будет иметь значение только для больших вставок (более 100). Но лучший подход был бы

 INSERT INTO table_name (col1,col2) VALUES (value1, value2),(value3, value4); 

но ваш синтаксис для запроса 2 должен быть INSERT INTO table_name SELECT col1, col2 FROM (SELECT value1 как col1, value2 как col2 UNION ALL SELECT value3 как col1, value4 as col4) A

Я думаю, вам нужно использовать Bulk Insert. Вот пример в .net http://www.dotnetcurry.com/ShowArticle.aspx?ID=323&AspxAutoDetectCookieSupport=1

  • Импорт новой таблицы базы данных
  • Выберите производительность
  • Медленный вход в составный первичный ключ
  • Экономия Sql Server 2005?
  • Стоимость индекса SQL Server
  • Хорошо ли всегда определять кластерный индекс в таблице базы данных?
  • Лучшее решение для базы данных отчетов
  • Межсетевые объединения
  • Кластерный индекс SQL Server - порядок указательного вопроса
  • SQL Server: расчет прибыли
  • Выполнение агрегатных функций на больших часто изменяющихся наборах данных
  • Давайте будем гением компьютера.