INSERT ... ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ се описва като "вмъкване в смесен режим" за целите на AUTO_INCREMENT на InnoDB боравене. Вмъкванията със смесен режим са основно тези, при които максимум брой на изискваните AUTO_INCREMENT стойностите са известни, но сумата, която действително ще е необходима не е.
Вмъкванията в смесен режим се обработват специално по подразбиране, както е описано в Документи на MySQL :
Ако използвате InnoDB, вашите алтернативи са:
- Избягвайте
INSERT ... ПРИ АКТУАЛИЗИРАНЕ НА ДУПЛИКАТ КЛЮЧ. - Задайте
innodb_autoinc_lock_modeкод>параметър до0, за "традиционен" режим на заключване на автоматично увеличение, който гарантира, че всичкиINSERTоператорите ще присвоят последователни стойности заAUTO_INCREMENTколони. Това обаче се постига чрез заключване по време на изявлението, така че има загуба на производителност, свързана с тази настройка. - (Препоръчително) Игнорирайте пропуските в
AUTO_INCREMENTколона.
Забележка:AUTO_INCREMENT обработката е напълно различна при MyISAM, който не показва това поведение.