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

SQL Server 2008:Pokud ne, INSERT ukončí, zachová jedinečný sloupec

Je šílenství nemít index.

Pomohlo by to, ale délka indexového klíče může být pouze 900 bajtů.

Je však pravděpodobné, že již máte duplikáty, protože potenciál pro 2. EXISTS poběží po 1. EXISTUJE, ale před 1. INSERT.

Vytvoření indexu vám to řekne a následně proti tomu ochrání.

Při velkém zatížení však můžete získat chyby.

Mým oblíbeným přístupem pro vysoké břitové destičky/nízké duplikáty je vzor JFDI. Vysoce souběžné

BEGIN TRY
   INSERT etc
END TRY
BEGIN CATCH
    IF ERROR_NUMBER() <> 2627
      RAISERROR etc
END CATCH



  1. jarní data kódování jpa utf-8 nefunguje

  2. Jak mám používat obrázek/kontejner Postgresql dockeru?

  3. Je možné získat seznam řádků seskupených podle názvu sloupce v Mysql?

  4. Databáze + ověřování systému Windows + uživatelské jméno/heslo?