sql >> Databáze >  >> RDS >> Sqlserver

Je kontrola hodnoty primárního klíče před vložením rychlejší než použití try-catch?

Na SQL 2008 stačí použít MERGE – mnohem jednodušší než kterýkoli z vašich přístupů.

Také nejsem s vámi na "NECHCI používat transakce z důvodů výkonu" - každý DML příkaz, který provedete, je stejně součástí nějaké transakce, takže existují transakce, i když je explicitně neotevřete. Pokud máte problémy s výkonem, můžete zveřejnit další podrobnosti, abyste získali další pomoc s výkonem.

Edit:Pokud potřebujete opravdu rychlé vkládání, nevkládejte jeden řádek po druhém. Přidejte sady řádků a použijte SLOUČENÍ – výhoda, kterou získáte vkládáním dávek řádků najednou, by měla výrazně převážit všechna drobná vylepšení, která získáte díky optimalizaci rychlosti přidávání jednoho řádku.

Každopádně teoretické uvažování o čemkoli, co souvisí s databázemi, obvykle nestačí. Opravdu musíte provést benchmark, abyste zjistili, co je rychlejší. To, co nazýváte "zbytečným dotazem na existující linku", může být zcela zanedbatelné a vy nevíte, zda tomu tak je, dokud to nezměříte za reálných podmínek.



  1. (1/1) MethodNotAllowedHttpException

  2. Zálohování a obnovení databáze PostgreSQL a nastavení prostředí localhost s laravel ve Windows 7

  3. Porovnání dočasných tabulek pro PostgreSQL a Oracle GTT

  4. Jaký je rozdíl mezi Views a Materialized Views v Oracle?