sql >> Database >  >> RDS >> Sqlserver

SQL Server 2008:INSERT indien niet afgesloten, unieke kolom behouden

Het is waanzin om geen index te hebben.

Het zou helpen, maar de lengte van de indexsleutel kan slechts 900 bytes zijn.

Het is echter waarschijnlijk dat u al duplicaten heeft, omdat de kans bestaat dat een 2e EXISTS wordt uitgevoerd na de 1e EXISTS maar vóór de 1e INSERT.

Het aanmaken van de index zal het u vertellen en u hiertegen beschermen.

Onder zware belasting kunt u echter fouten krijgen.

Mijn favoriete benadering voor hoge inserts/low duplicates is het JFDI-patroon. Zeer gelijktijdig

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



  1. Hoe kan ik categorieën, subcategorieën, sub-subcategorieën in de geselecteerde lijst weergeven - php/mysql?

  2. Hoe TRIM_ORACLE() werkt in MariaDB

  3. In plaats van LIKE en ~, waarom werkt alleen VERGELIJKBAAR MET als regex-match met alternatieven wordt uitgevoerd?

  4. Is een VARCHAR (20000) geldig in MySQL?