Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

tsql - Изпълнение на пакетно вмъкване

Въпреки че може да изглежда, че по-малко код за обработка трябва да ви осигури печалба в производителността, използването на първата опция (обединяване на всички) е лоша идея. Всички оператори за избор трябва да бъдат анализирани и изпълнени, преди данните да бъдат вмъкнати в таблица. Ще изразходва много памет и може да отнеме цяла вечност, за да завърши дори за сравнително малко количество данни. От друга страна отделни изрази за вмъкване се изпълняват "в движение".

Изпълнете прост тест в SSMS, който ще докаже това:създайте проста таблица с 4 полета и опитайте да вмъкнете 20k реда. Второто решение ще се изпълни за секунди, докато първото... ще видите :).

Друг проблем е, че когато данните не са правилни в някой ред (например несъответствие на типа), ще получите грешка като Conversion failed when converting the varchar value 'x' to data type int. , но няма да имате индикация кой ред е неуспешен - ще трябва да го намерите сами. Но с отделни вмъквания ще знаете точно кое вмъкване е неуспешно.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разгръщане на сертификат за криптирана връзка SQL Server

  2. Как да създадете дата в SQL Server, дадени ден, месец и година като цели числа

  3. разделяне на колона за дата и час на година, месец и седмица

  4. DateTime2 срещу DateTime в SQL Server

  5. Актуализиране на пощенски акаунт в база данни в SQL Server (T-SQL)