INSERT ... PÅ DUPLIKATNYCKELUPPDATERING
beskrivs som en "mixed-mode insert" för syftet med InnoDB:s AUTO_INCREMENT
hantering. Mixed-mode-inlägg är i princip sådana där maximum antal obligatoriska AUTO_INCREMENT
värden är kända, men mängden som faktiskt kommer att behövas är inte.
Inlägg i blandat läge hanteras speciellt som standard, som beskrivs i MySQL-dokument :
Om du använder InnoDB är dina alternativ:
- Undvik
INSERT ... PÅ DUBLIKAT UPPDATERING AV NYCKEL
. - Ställ in
innodb_autoinc_lock_mode
parameter till0
, för "traditionellt" autoinkrementlåsläge, vilket garanterar att allaINSERT
satser kommer att tilldela på varandra följande värden förAUTO_INCREMENT
kolumner. Detta görs dock genom att låsa under uttalandet, så det finns en prestandaförlust kopplad till den här inställningen. - (Rekommenderas) Ignorera luckorna i
AUTO_INCREMENT
kolumn.
Obs:AUTO_INCREMENT
hanteringen är helt annorlunda under MyISAM, som inte uppvisar detta beteende.