Предположим, у меня есть таблица foo
, которая содержит статистику, которая вычисляется время от времени. Он активно используется другими запросами.
Вот почему я хочу вычислить более свежую статистику foo_new
и поменять ее, когда вычисления будут готовы.
я мог бы сделать
ALTER TABLE foo RENAME foo_tmp;
ALTER TABLE foo_new RENAME foo;
но что произойдет, если запросу нужна таблица foo
между этими двумя строками, когда таблицы нет foo
? Я думаю, что я должен как-то заблокировать это ... или есть другой способ сделать это?
tableX
что имеет родительское ограничение ссылкиfoo
. После этого RENAME он будет теперь ссылаться,foo_old
но если нет никаких ссылок на ссылки,foo
тогда вы должны быть в порядке ...FOREIGN KEYs
.