Supongamos que tengo una tabla foo
que contiene algunas estadísticas que se calculan de vez en cuando. Es muy utilizado por otras consultas.
Es por eso que quiero calcular estadísticas más recientes foo_new
e intercambiarlas cuando el cálculo esté listo.
Yo podría hacer
ALTER TABLE foo RENAME foo_tmp;
ALTER TABLE foo_new RENAME foo;
pero, ¿qué sucede si una consulta necesita una tabla foo
entre esas dos líneas cuando no hay una tabla foo
? Supongo que tengo que bloquearlo de alguna manera ... ¿o hay otra forma de hacerlo?
tableX
tengo referencia de restricción principalfoo
. Después de este RENAME, ahora se hará referencia,foo_old
pero si no hay restricciones,foo
entonces debería estar bien ...FOREIGN KEYs
.