26/08/2011, 15:54
|
| | Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 13 años, 4 meses Puntos: 0 | |
Respuesta: Consulta lenta - ¿índices? Yo tengo el mismo problema tengo 5 millones de registros y hago busqueda por rango de fechas ejemplo 2011-08-01 al 2011-08-25 con esta busqueda la consulta sera de mas de 2 millones de registros y tarda 30 min tengo indice pk a la fecha
Código:
SELECT A.ID_GUIA
, A.ID_CUENTA
, A.ID_PRODUCTO
, A.NB_ORIGEN
, A.NB_DESTINO
, CONVERT(CHAR(10),A.FH_CAPTURA,103) AS FH_CAPTURA
, CONVERT(CHAR(10),A.FH_SCL,103) AS FH_SCL
, A.NB_SCL
, CONVERT(CHAR(10),A.FH_NEWFIN,103) AS FH_NEWFIN
, A.NB_NEWFIN
, CONVERT(CHAR(10),A.FH_VOLTA,103) AS FH_VOLTA
, A.NB_VOLTA
, CONVERT(CHAR(10),B.FH_RECIBIDO,103) AS FH_DVRA
, B.NB_ARCHIVO AS NB_DVRA
, CONVERT(CHAR(10),A.FH_RARG,103) AS FH_RARG
, A.NB_RARG
, CONVERT(CHAR(10),A.FH_IBS,103) AS FH_IBS
, A.NB_IBS
, CONVERT(CHAR(10),C.FH_SHIP,103) AS FH_DSD
, A.NB_DSD
--, D.ID_MAJOR
--INTO #TMPPASO
FROM MM_GUIAS A(nolock)
--INNER JOIN #TmpRowsNum E ON A.ID_GUIA = E.ID_GUIA AND A.ID_CUENTA = E.ID_CUENTA AND A.ID_CUENTA_VTA = E.ID_CUENTA_VTA AND A.ID_PRODUCTO = E.ID_PRODUCTO AND A.NB_ORIGEN = E.NB_ORIGEN AND A.NB_DESTINO = E.NB_DESTINO AND A.FH_CAPTURA = E.FH_CAPTURA
LEFT OUTER JOIN DD_DVRA B(nolock) ON A.ID_GUIA = B.ID_GUIA AND A.ID_CUENTA = B.ID_CUENTA AND A.ID_PRODUCTO = B.ID_PRODUCTO AND A.NB_ORIGEN = B.NB_ORIGEN AND A.NB_DESTINO = B.NB_DESTINO
LEFT OUTER JOIN DD_DSD C(nolock) ON A.ID_GUIA = C.ID_GUIA AND A.ID_CUENTA = C.ID_CUENTA AND A.ID_PRODUCTO = C.ID_PRODUCTO AND A.NB_ORIGEN = C.NB_ORIGEN AND A.NB_DESTINO = C.NB_DESTINO
--LEFT OUTER JOIN MAJOR_ACCNT D(nolock) ON A.ID_CUENTA = D.ID_CUENTA AND D.ID_MAJOR = ISNULL (@ID_MAJOR, D.ID_MAJOR)
WHERE A.FH_SCL >= CAST ('2011-08-01' AS DATETIME)
AND A.FH_SCL <= CAST ('2011-08-24' AS DATETIME)
|