В настоящее время у меня есть база данных с идентификатором в качестве основного + автоинкрементного значения другое поле с именем refcode в качестве уникального значения
Я заметил большие пробелы в инкрементном значении, в настоящее время последний идентификатор равен 762480, в то время как таблица содержит только 16553 строки.
Есть ли способ устранить это поведение? Мне не нужен скрипт cron, который продолжает вставлять старые значения
Должен ли я беспокоиться или нет
Эта проблема может быть вызвана удалением записей — если согласованность базы данных установлена хорошо, все в порядке.
Но иногда этот разрыв может быть вызван неудачной транзакцией базы данных. Если разрыв такой большой, как в вашем случае, я рекомендую проверять используемые транзакции БД в коде.
Вы не должны беспокоиться. auto_increment
ключи являются последовательными, но с точки зрения всей истории таблицы, поэтому, если вы удалите кучу записей, она не будет заполнять старые ключи бекапом или переиндексировать всю таблицу, чтобы не было пропусков.
Вот как AUTO_INCREMENT
Колонки предназначены для работы. Основная задача AUTO_INCREMENT
должен быть всегда уникальным и не быть последовательным.
Если это должно быть последовательно, то все транзакции должны выполняться последовательно (одна за другой), чтобы избежать возможных дубликатов, и масштабируемость станет проблемой.
Так что вам не нужно беспокоиться об этом.