sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är den mest effektiva/bästa praxisen för att lägga upp 5000+ rader utan sammanfogning i SQL Server?

Jag skulle göra UPPDATERING först, annars uppdaterar du raderna du just har infogat

SELECT .. INTO #temp FROM (shredXML)

BEGIN TRAN

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

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

COMMIT

Jag skulle också överväga att ändra XML till en temporär tabell och använda SQLBulkCopy. Vi har tyckt att detta är mer effektivt än att analysera XML i allmänhet för mer än några hundra rader. Om du inte kan ändra detta, strimlar du då XML till en temporär tabell först?




  1. Vad är STATISTICS XML i SQL Server?

  2. Skapa en anpassad MySQL-funktion?

  3. problem med GROUP_CONCAT i JOIN-frågan mysql

  4. Flera frågor VS lagrad procedur