Pregunta simple...

03/11/2004 - 17:40 por DiGiTaL | Informe spam
Que tal a todos...

Tengo una duda...digamos que tengo una tabla llamada "Movimientos" donde
registro operaciones de muchos clientes... y otra tabla llamada
"Clientes"...En la tabla "Movimientos" tengo mas de 1 millon de registros y
en la tabla "Clientes" tengo menos de 30 registros...

la pregunta es la siguiente... al hacer un inner join entre estas dos
tablas, por el campo clienteID (que asuminos existe en ambas tablas)... da
lo mismo en cuestiones de performance hacer un "WHERE" por clienteID desde
cualquiera de las dos tablas??? es decir es lo mismo hacer el "where" desde
Clientes.ClienteID=xxx que desde Movimientos.ClienteID=xxx???

gracias...
 

Leer las respuestas

#1 qwalgrande
03/11/2004 - 18:13 | Informe spam
Hola.

Yo que tú lo comprobaría, mirando las lecturas lógicas. En teoría, y si el
campo en la tabla grande está indexado, debería ser lo mismo porque el motor
usaría dicho índice, aunque en cualquier caso, ponerlo en la tabla grande es
lo que suele dar mejor resultado. Me he encontrado con situaciones en los que
lo mejor era poner el filtro no en una ni en otra tabla, si no en las dos. De
todos modos, lo dicho, Ctrl + K, set statistics io on, y a comparar.

qwalgrande

"DiGiTaL" wrote:

Que tal a todos...

Tengo una duda...digamos que tengo una tabla llamada "Movimientos" donde
registro operaciones de muchos clientes... y otra tabla llamada
"Clientes"...En la tabla "Movimientos" tengo mas de 1 millon de registros y
en la tabla "Clientes" tengo menos de 30 registros...

la pregunta es la siguiente... al hacer un inner join entre estas dos
tablas, por el campo clienteID (que asuminos existe en ambas tablas)... da
lo mismo en cuestiones de performance hacer un "WHERE" por clienteID desde
cualquiera de las dos tablas??? es decir es lo mismo hacer el "where" desde
Clientes.ClienteID=xxx que desde Movimientos.ClienteID=xxx???

gracias...



Preguntas similares