Hola lista, espero no estar fuera de lugar o haber hecho un OFFTOPIC con esta pregunta para los expertos en base de datos
Tengo dos formas distintas de hacer JOINS, una la lei de un amigo, la cual me parece la forma mas sencilla (la segunda forma) ya que la lectura y escritura es secuencial, entonces la vi sencilla de escribir y fácil de leer, el detalle es que según mi teoría de relaciones y bases de datos pensé que podía ser mas rápida el usar la teoría de conjuntos para agrupar las relaciones (la primera forma) pero me di cuenta que los tiempos son los mismos cuando ejecuto la consulta, y es hasta algo mas lenta, en unos 10mms promedio luego de alrededor de 20 ejecuciones realizadas. Además de ello, la consulta es mal lenta en lectura, mi pregunta es entonces, cual es la forma correcta de hacer un JOIN, se que puedo buscarlo ne un libro, y ya lo hice, y encontré ambas formas, según los gustos de los autores. Entonces me gustaría saber que es lo que opinas los científicos de la SPC al respecto sobre la mejor forma o la forma correcta de hacerlo. Además de ello, si pruebo con WHERE, la consulta se ejecuto mas rápido aun, la lógica que deduje fue simple, un subconjunto (WHERE) es mas rápido que una multiplicación de tablas (JOIN) Nuevamente, espero no alterar el orden de temas de discusión, pero me gustaría conocer su opinión al respecto ************************************************************************************** FROM venta.clientes c JOIN ((empresas e JOIN (((logistica.locales l JOIN (logistica.direcciones dl JOIN (logistica.distritos il JOIN (logistica.provincias lp JOIN logistica.departamentos lt ON lt.depcodigo = lp.depcodigo) ON lp.procodigo = il.procodigo) ON il.discodigo = dl.discodigo) ON l.dircodigo = dl.dircodigo) JOIN logistica.sucursal s ON s.succodigo = l.succodigo) JOIN logistica.tipolocales tl ON tl.tloccodigo = l.tloccodigo) ON l.empcodigo = e.empcodigo) JOIN (logistica.distritos ed JOIN (logistica.provincias ep JOIN logistica.departamentos et ON et.depcodigo = ep.depcodigo) ON ep.procodigo = ed.procodigo) ON ed.discodigo = e.discodigo) ON e.empcodigo = c.clicodigo ************************************************************************************** FROM venta.clientes c JOIN empresas e ON e.empcodigo = c.clicodigo JOIN logistica.distritos ed ON ed.discodigo = e.discodigo JOIN logistica.provincias ep ON ep.procodigo = ed.procodigo JOIN logistica.departamentos et ON et.depcodigo = ep.depcodigo JOIN logistica.locales l ON l.empcodigo = e.empcodigo JOIN logistica.tipolocales tl ON tl.tloccodigo = l.tloccodigo JOIN logistica.sucursal s ON s.succodigo = l.succodigo JOIN logistica.direcciones dl ON l.dircodigo = dl.dircodigo JOIN logistica.distritos il ON il.discodigo = dl.discodigo JOIN logistica.provincias lp ON lp.procodigo = il.procodigo JOIN logistica.departamentos lt ON lt.depcodigo = lp.depcodigo ************************************************************************************** -- Carlos Eduardo Sotelo Pinto a.k.a. krlos http://csotelo.blogspot.com Office: (51) 54 - 286382 Ext 28 Home: (51) 54 - 464113 Mobil: (51) 54 - 959980794 pgp.rediris.es 0xF8554F6B GPG FP:697E FAB8 8E83 1D60 BBFB 2264 9E3D 5761 F855 4F6B GNULinux RU #379182 || GNULinux RM #277661 -- Carlos Eduardo Sotelo Pinto a.k.a. krlos http://csotelo.blogspot.com Office: (51) 54 - 286382 Ext 28 Home: (51) 54 - 464113 Mobil: (51) 54 - 959980794 pgp.rediris.es 0xF8554F6B GPG FP:697E FAB8 8E83 1D60 BBFB 2264 9E3D 5761 F855 4F6B GNULinux RU #379182 || GNULinux RM #277661 _______________________________________________ Lista de correo Linux-plug Temática: Discusión general sobre Linux Peruvian Linux User Group (http://www.linux.org.pe) Participa suscribiéndote y escribiendo a: [email protected] Para darte de alta, de baja o hacer ajustes a tu suscripción visita: http://listas.linux.org.pe/mailman/listinfo/linux-plug IMPORTANTE: Reglas y recomendaciones http://www.linux.org.pe/listas/reglas.php http://www.linux.org.pe/listas/comportamiento.php http://www.linux.org.pe/listas/recomendaciones.php
