sql >> Databasteknik >  >> RDS >> Mysql

mysql unikt index som används som undantagshanteringsmetod i java

Jag säger att du inte gör det av två anledningar:

  • felmeddelandena är lite otydliga:ERROR 1062 (23000):Dubblettpost 'xxx' för nyckel 1 . Är du alltid 100 % säker på vilken nyckel som är 1?
  • det låser dig till en specifik databasleverantör

Jag tycker att det är enklare att transaktionellt :

  • kontrollera om raden existerar;
  • kasta ett undantag om raden redan finns;
  • infoga den nya raden.

Prestandaproblem :

Jag säger mät två gånger, skär en gång . Profilera användningen för ditt specifika användningsfall. Högst upp i huvudet skulle jag säga att prestandan inte kommer att vara ett problem förutom för de tunga db-användningsscenarierna.

Anledningen är att när du utför en SELECT över den specifika raden kommer dess data att placeras i databasens cacheminne och omedelbart används för infogningskontroll utförd på indexet för INSERT påstående. Att också komma ihåg att denna åtkomst stöds av ett index leder till slutsatsen att prestanda inte kommer att vara ett problem.

Men, som alltid, mät.



  1. MySQL-undantag - allvarligt fel påträffat under dataläsning

  2. Parse error:parse error i php

  3. Connect DATABASE-fel TYP:2002:Tillstånd nekad

  4. Hur man installerar SQL Server på Linux