sql >> Database >  >> RDS >> Sqlserver

Wat is de meest efficiënte/best practice om 5000+ rijen upsert zonder samenvoegen in SQL Server?

Ik zou eerst de UPDATE doen, anders update je de rijen die je zojuist hebt ingevoegd

SELECT .. INTO #temp FROM (shredXML)

BEGIN TRAN

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

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

COMMIT

Ik zou ook overwegen om de XML te wijzigen in een tijdelijke tabel en SQLBulkCopy te gebruiken. We hebben geconstateerd dat dit efficiënter is dan het ontleden van XML in het algemeen voor meer dan een paar honderd rijen. Als je dit niet kunt veranderen, versnipper je dan eerst de XML in een tijdelijke tabel?




  1. Hoe afbeeldingen uit de MySQL-database te lezen met behulp van PHP?

  2. Waarom krijg ik deze verschillende resultaten van twee SQL-query's?

  3. query extreem traag na migratie naar mysql 5.7

  4. MySql kan kolom auto_increment niet maken