Joins

19/07/2004 - 13:08 por Jorge Martinez | Informe spam
Buenas tardes, quisiera saber si hay alguna forma de cambiar el orden
que tiene SQL Server de tomar las tablas en una join multiple (5 tablas).

El problema es que tengo una de esas tablas con mas d e1 millon de
registros y tengo que combinarla con otras que tiene unos pocos, y claro la
que tiene 1 millon me la pone en la parte interna de la join y se la recorre
4 o 5 veces.

Alguna idea.


Gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
19/07/2004 - 13:40 | Informe spam
Con SET FORCEPLAN estás forzando a SQL Server a procesar las
combianciones de las tablas en el mismo orden en el que aparecen en la
consulta. Ahora bien, si los índices son correctos y las estadísticas están
actualizadas, no te recomiendo que lo hagas, ya que el motor se encarga ya
de decidir cuál es la mejor combinación.

Prueba a ejecutar el asistente de optimización de índices para ver si
puedes mejorar esa consulta


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Jorge Martinez" escribió en el mensaje
news:

Buenas tardes, quisiera saber si hay alguna forma de cambiar el orden
que tiene SQL Server de tomar las tablas en una join multiple (5 tablas).

El problema es que tengo una de esas tablas con mas d e1 millon de
registros y tengo que combinarla con otras que tiene unos pocos, y claro


la
que tiene 1 millon me la pone en la parte interna de la join y se la


recorre
4 o 5 veces.

Alguna idea.


Gracias


Respuesta Responder a este mensaje
#2 Javier Loria
19/07/2004 - 15:37 | Informe spam
Hola Jorge:
El SQL automaticamente cambia el orden en el JOIN, basado en el costo de
la consulta. Puedes revisar el Plan de Acceso de la Consulta que te dice
como se estan accesando las tablas.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Jorge Martinez escribio:
Buenas tardes, quisiera saber si hay alguna forma de cambiar el
orden que tiene SQL Server de tomar las tablas en una join multiple
(5 tablas).

El problema es que tengo una de esas tablas con mas d e1 millon de
registros y tengo que combinarla con otras que tiene unos pocos, y
claro la que tiene 1 millon me la pone en la parte interna de la join
y se la recorre 4 o 5 veces.

Alguna idea.


Gracias
Respuesta Responder a este mensaje
#3 Jorge Martinez
19/07/2004 - 15:55 | Informe spam
Gracias a los dos por responderme, pero previo a mi mensaje estuve revisando
el plan de ejecucion y ahi es donde me di cuenta del orden de las tablas, de
todas formas a lo mejor es demasiado prepotente por mi parte pensar que lo
puedo hacer mejor que SQL, pero creo que esta vez se esta equivocando.

Los indices estan bien definidos y las estadisticas estan todas creadas.

Efectivamente he usado el SET FORCEPLAN y estaba equivocado.


Gracias a los dos.



"Jorge Martinez" escribió en el mensaje
news:

Buenas tardes, quisiera saber si hay alguna forma de cambiar el orden
que tiene SQL Server de tomar las tablas en una join multiple (5 tablas).

El problema es que tengo una de esas tablas con mas d e1 millon de
registros y tengo que combinarla con otras que tiene unos pocos, y claro


la
que tiene 1 millon me la pone en la parte interna de la join y se la


recorre
4 o 5 veces.

Alguna idea.


Gracias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida