контексте одного сервера ? или какое то решение которое поможет избежать блокировок при алтере
Вряд ли есть какой-то "технический" способ избежать этого в общем случае - например представьте что работающий селект использует столбец который будет переименован альтером, а ждущие в очереди селекты уже используют новое название столбца. Но есть масса обходных путей. Если место позволяет - можно скопировать таблицу перед альтером, выполнить альтер на копии а потом выполнить двойной RENAME заменив таблицы местами. Можно запускать альтеры предварительно убедившись что нет висящих селектов / по ночам / уводя сервер в дайнтайм / предварительно убивая висящие селекты.
Обсуждают сегодня