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

Коя е най-ефективната/най-добрата практика за Upsert 5000+ реда без Merge в SQL Server?

Първо бих направил АКТУАЛИЗАЦИЯТА, в противен случай вие ще актуализирате редовете, които току-що сте вмъкнали

SELECT .. INTO #temp FROM (shredXML)

BEGIN TRAN

UPDATE ... FROM WHERE (matches using #temp)

INSERT ... SELECT ... FROM #temp WHERE NOT EXISTS

COMMIT

Също така бих обмислил промяна на XML на временна таблица и използване на SQLBulkCopy. Установихме, че това е по-ефективно от анализа на XML като цяло за повече от няколкостотин реда. Ако не можете да промените това, първо ли нарязвате XML във временна таблица?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте един тригер за множество операции

  2. Шифроване на пароли на Sql Server 2008 с помощта на SHA1

  3. 6 начина за свързване на низ и число в SQL Server

  4. Вземете само дата от datetime sql, без да конвертирате във varchar, за да мога да го сортирам в excel

  5. Връзка с Python Pycharm и SQL Server