MySQL tabla compartida o tabla en cada base de datos

Tengo una situación así, en mi sistema hay muchas bases de datos y para algunas consultas necesito usar la misma tabla "horas", que básicamente tiene un campo 'h' y almacena horas como '00',...,'23 '.

Mi pregunta es sobre la eficiencia, ¿es mejor crear una base de datos separada y almacenar esta tabla allí o tener esta tabla en cada base de datos? Mis consultas se verán así:

SELECT ... FROM hours CROSS JOIN some_table ...

¡Gracias!

preguntado el 12 de junio de 12 a las 16:06

1 Respuestas

De cualquier manera, tendría que modificar todas las consultas "no locales" para usar esa tabla

SELECT ...
FROM sometable
CROSS JOIN dbname.hours

Si está atascado en su propia base de datos, entonces debe modificar TODAS las consultas. Si está en una de las bases de datos 'reales', solo tiene que modificar n-1 consultas. Además de tener que otorgar los permisos apropiados en esa tabla si está utilizando varias cuentas mysql diferentes para las diferentes bases de datos.

Respondido el 12 de junio de 12 a las 16:06

La pregunta es sobre la eficiencia de la consulta, no sobre las modificaciones. ¿Cuál es la diferencia en el caché o alguna forma interna en que MySQL procesa la consulta si la tabla está en la misma base de datos o en una diferente? - user1451570

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.