Suponha, eu tenho uma tabela foo
, que contém algumas estatísticas que são calculadas de vez em quando. É muito usado por outras consultas.
É por isso que eu quero calcular estatísticas mais recentes foo_new
e trocá-las quando a computação estiver pronta.
eu poderia fazer
ALTER TABLE foo RENAME foo_tmp;
ALTER TABLE foo_new RENAME foo;
mas o que acontece se uma consulta precisar de tabela foo
entre essas duas linhas quando não houver tabela foo
? Acho que tenho que trancá-lo de alguma forma ... ou existe outra maneira de fazê-lo?
mysql
locking
alter-table
Ben
fonte
fonte
tableX
isso, tenho referência de restrição de paifoo
. Após este RENAME será agora referênciafoo_old
, mas se não há restrições referenciandofoo
então você deve estar OK ...FOREIGN KEYs
.