Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2012, 01:58
lemmy2011
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Orden de acceso a tablas/condiciones dentro de una consulta

Hola a todos!

Tengo una duda a nivel de optimización básica de conultas. En principio, ¿Cuál es el orden de acceso a tablas/condiciones en una consulta con MySql? En oracle sé que sería:

- para tablas, de derecha a izquierda
- para condiciones, de abajo a arriba.

Así pues:

Select *
From Tabla_A, TablaB
Where Tabla_A.Campo = 1
And Tabla_A.Id = Tabla_B.Id
And Tabla_B.Campo = 2

Es decir, el acceso a tablas sigue el siguiente orden ( de dercha a izquierda ):
- Primero la Tabla_B y después va a la Tabla_B

Y, por lo tanto, para ser lógicos, la parte de las condiciones debe seguir ese criterio. Es decir ( y montando las condiciones de abajo a arriba ) :
- Primero filtra la Tabla_B
- Después accede mediante join a la Tabla_A
- Y, finalmente, una vez en la Tabla_A aplica los filtros sobre la tabla

Me da la sensación que MySql no sigue esta norma. ¿Es necesario colocar las tablas ( from ) en algún orden en particular? Y del mismo modo ¿Es necesario poner las condiciones ( where ) en algún orden concreto?

Muchas gracias por vuestra ayuda!