Как изменить смещение автоинкремента и значение шага только для одной таблицы? - PullRequest
0 голосов
/ 10 мая 2018

У меня есть монолитная база данных, в которой есть таблица с 60 миллионами строк. Настройка реплицируется мастером-мастером, и один из мастеров записывает четные идентификаторы автоинкремента, а другие ведущие записывают в нечетные идентификаторы автоинкремента.

Но я хочу изменить настройку, чтобы я мог использовать размер шага 4 и смещения 1 и 3 для одной таблицы (рассматриваемой таблицы) во всей базе данных. Это вообще возможно?

1 Ответ

0 голосов
/ 04 декабря 2018

номер

В документации MySQL четко указано, что смещения автоинкремента являются настройками экземпляра MySQL и будут применяться ко всем таблицам в базе данных.

С документацией можно ознакомиться по адресу https://dev.mysql.com/doc/refman/8.0/en/replication-options-master.html#sysvar_auto_increment_increment.

Невозможно ограничить влияние этих двух переменных одной таблицей; Эти переменные управляют поведением всех столбцов AUTO_INCREMENT во всех таблицах на сервере MySQL. Если задано глобальное значение любой переменной, его действие сохраняется до тех пор, пока глобальное значение не будет изменено или переопределено путем установки значения сеанса или до перезапуска mysqld. Если задано локальное значение, новое значение влияет на столбцы AUTO_INCREMENT для всех таблиц, в которые текущий пользователь вставляет новые строки на время сеанса, если только значения не изменяются во время этого сеанса.

...