Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

JOINS o WHERE

Estas en el tema de JOINS o WHERE en el foro de Mysql en Foros del Web. Hola Muchach@s Tengo una duda, me gustaría saber que es mejor usar, un JOIN o un WHERE, o depende de la situación??? ejemplo tabla ciudades ...
  #1 (permalink)  
Antiguo 30/08/2012, 12:28
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 6 meses
Puntos: 45
JOINS o WHERE

Hola Muchach@s

Tengo una duda, me gustaría saber que es mejor usar, un JOIN o un WHERE, o depende de la situación???

ejemplo tabla ciudades y departamentos

CON JOIN

Código SQL:
Ver original
  1. SELECT * FROM ciudades c INNER JOIN departamentos d ON c.id_ciudad = d.id_ciudad

CON WHERE

Código SQL:
Ver original
  1. SELECT * FROM ciudades c, departamentos d WHERE c.id_ciudad = d.id_ciudad

existe alguna diferencia?? o es solo sintaxis??

gracias de antemano
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #2 (permalink)  
Antiguo 30/08/2012, 12:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: JOINS o WHERE

Para MySQL hay diferencia:
- Los JOINs se ejecutan primero, pueden ser optimizados por el parser, sus condiciones se ejecutan a medida que se van leyendo los registros.
- Los WHERE no son optimizables, cuando mucho pueden ser afectados por los índices que existan, y adepmás (y por sobre todo) se ejecutan luego de haber leido todos los registros del JOIN.
- Como los WHERE se evalúan para cada registro, su aplicación suele ser más lenta.

El verdadero impacto de la performance no lo notarás con pocos registros sino cuando manejas cientos de miles y/o millones. Allí se ve la diferencia claramente,
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: join, joins, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:58.