15/05/2006, 17:57
|
| Colaborador | | Fecha de Ingreso: enero-2002 Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses Puntos: 146 | |
Siempre he sido partidario de buscar este tipo de cosas en fuentes "más formales", como libros, por ejemplo, y no por "oidas", pero si en algo puede servir mi aporte ...
Bueno, según tengo entendido hacer relaciones con WHERE no esta aprovechando los índices ni relaciones de las tablas, sino que forma un simple producto cartesiano (a cada registro de A lo juntamos con todos los de B) y luego, después de eso, se hace un filtro con la condición. Eso a todas luces es pésima idea para muchas tablas o tablas muy grandes. Ahí es dónde el INNER o el OUTER ponen la diferencia dado que filtran desde el momento de las relaciones por medio de los índices... ¿cómo? ... aahh, pues ahí si me disculparán ya que nunca les mentiría con conocimiento de causa, lo desconozco.
Sobre el de poner condiciones en el WHERE o en el INNER, pues son cosas distintas. La condición del ON que va con el INNER es para proporcionar una relación entre las dos tablas, no para filtrar, para eso esta el WHERE, así como el HAVING para condiciones a nivel de grupos.
Mis 2 centavos |