2010-07-02 15 views
5

Las consultas que creo con frecuencia tienen 7-8 uniones para recuperar datos. ¿Son normales muchas combinaciones en una aplicación de base de datos real o el diseño de mi base de datos es deficiente? Tengo curiosidad porque si en cada solicitud la base de datos tiene que hacer tanto trabajo, ¿no morirá si se conectan unos pocos miles de clientes?¿Cuántas combinaciones por funcionalidad en la aplicación del mundo real?

Respuesta

2

En mi opinión, es inevitable en algunos casos, la clave es tener los índices correctos para las consultas que estás haciendo. Con un gráfico de objetos profundo en ORM, o tal vez uno con subclases unidas, sería fácil repasar las 7-8 uniones de las que habla. Estoy ansioso por escuchar lo que todos los demás tienen que decir al respecto :)

+0

OP - algunas de las cosas más complejas en nuestra aplicación utilizan una docena de tablas. También indexamos cosas para que coincidan con nuestras estrategias de unión. Es posible que desee revisar su diseño * si y cuando * nota problemas. – DaveE

1

No es posible establecer una conclusión a este respecto sin los detalles de la lógica de la aplicación. Si la lógica de la aplicación lo lleva a uniones inevitables para mantener la integridad, no es un problema, y ​​su plataforma de base de datos debe manejarlo.

1

Eso es un montón de combinaciones. Es difícil de decir sin ver su esquema, pero he visto casos en los que la gente se ha vuelto loca haciendo un esquema demasiado complicado. Recuerdo una aplicación en la que trabajé, donde cada dirección y número de teléfono en el sistema era tratado como una entidad, y las consultas con frecuencia implicaban uniones de más de una docena de tablas. Debe tener cuidado al hacer un esquema para distinguir entre esas cosas que le interesan al seguimiento individual y todo lo demás, de lo contrario, puede terminar con una complejidad innecesaria.

Cuestiones relacionadas