Problema con vistas

12/09/2003 - 15:04 por Carlos Augusto | Informe spam
Buenos Días a todos:

Resulta que tengo una vista que extracta y sumariza un
conjunto de registros (72000) de una tabla de 2'900.000.
el problema es que cuando ejecuto el select desde del
Query Analizer, funciona bien y se demora creo que lo
razonable, pero cuando creo la vista a través de create
view me genera un error de time out y no me extrae los
datos ya cambie todas las opciones de tiempo de espera que
se pueden cambiar por sp_configure pero sigue presentando
el error.

Por favor necesito algun tip para solucionar este problema.

1.000 Gracias Anticipadas

Preguntas similare

Leer las respuestas

#1 Javier Loria
12/09/2003 - 15:52 | Informe spam
Hola Carlos Augusto:
Podria ocurrir que por alguna razon se esten usando 2 planes diferentes
de ejecucion.
Para probar esta hipotesis podrias ejecutar la consulta en el Analizador
de Consulta y revisar los planes de ejecucion. Si son diferentes, puedes
usar HINTS de indices para "optimizar" la vista.
Aun cuando esto rara vez es necesario, algunas veces ocurre que el
optimizador de consultas no la "pega" con el plan de ejecucion. :(
Si puedes ensenar el codigo de la consulta podriamos revisar otras
posibilidades.

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.
Carlos Augusto escribio:
Buenos Días a todos:

Resulta que tengo una vista que extracta y sumariza un
conjunto de registros (72000) de una tabla de 2'900.000.
el problema es que cuando ejecuto el select desde del
Query Analizer, funciona bien y se demora creo que lo
razonable, pero cuando creo la vista a través de create
view me genera un error de time out y no me extrae los
datos ya cambie todas las opciones de tiempo de espera que
se pueden cambiar por sp_configure pero sigue presentando
el error.

Por favor necesito algun tip para solucionar este problema.

1.000 Gracias Anticipadas
Respuesta Responder a este mensaje
#2 Carlos Augusto
12/09/2003 - 16:52 | Informe spam
El código es el siguiente:

SELECT fechavlodate, numvlo, origen, destino, SUM
(pax_rev_adulto + pax_norev_adulto) AS adults, SUM
(pax_rev_niño + pax_norev_niño) AS children,
SUM(pax_norev_infan) AS Infants, SUM
(pax_on_norev) AS [ONLINE NON REVENUE PAX], SUM
(pax_in_norev) AS [OAL NON REVENUE PAX],
SUM(pax_on_rev_tra) AS [CONNECTING
ONLINE REVENUE PAX], SUM(pax_in_rev_tra) AS [CONNECTING
OAL REVENUE PAX], SUM(pax_on_rev_loc)
AS [ONLINE LOCAL REVENUE PASSENGER],
SUM(pax_in_rev_loc) AS [OAL LOCAL REVENUE PASSENGER], SUM
(usd_on_norev)
AS [ONLINE NON REVENUE PAX USD], SUM
(usd_in_norev) AS [OAL NON REVENUE PAX USD], SUM
(usd_on_rev_tra)
AS [CONNECTING ONLINE REVENUE PAX
USD], SUM(usd_in_rev_tra) AS [CONNECTING OAL REVENUE PAX
USD], SUM(usd_on_rev_loc)
AS [ONLINE LOCAL REVENUE PASSENGER
USD], SUM(usd_in_rev_loc) AS [OAL LOCAL REVENUE PASSENGER
USD], SUM(cop_on_norev)
AS [ONLINE NON REVENUE PAX COP], SUM
(cop_in_norev) AS [OAL NON REVENUE PAX COP], SUM
(cop_on_rev_tra)
AS [CONNECTING ONLINE REVENUE PAX
COP], SUM(cop_in_rev_tra) AS [CONNECTING OAL REVENUE PAX
COP], SUM(cop_on_rev_loc)
AS [ONLINE LOCAL REVENUE PASSENGER
COP], SUM(cop_in_rev_loc) AS [OAL LOCAL REVENUE PASSENGER
COP]

FROM trafico
GROUP BY fechavlodate, numvlo, origen, destino

como decia este codigo se demora aprox 1 min. en generar
la información pero al querer ver los datos a trvés de la
vista genera un error de time out



Hola Carlos Augusto:
Podria ocurrir que por alguna razon se esten usando 2


planes diferentes
de ejecucion.
Para probar esta hipotesis podrias ejecutar la


consulta en el Analizador
de Consulta y revisar los planes de ejecucion. Si son


diferentes, puedes
usar HINTS de indices para "optimizar" la vista.
Aun cuando esto rara vez es necesario, algunas veces


ocurre que el
optimizador de consultas no la "pega" con el plan de


ejecucion. :(
Si puedes ensenar el codigo de la consulta podriamos


revisar otras
posibilidades.

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.
Carlos Augusto escribio:
Buenos Días a todos:

Resulta que tengo una vista que extracta y sumariza un
conjunto de registros (72000) de una tabla de 2'900.000.
el problema es que cuando ejecuto el select desde del
Query Analizer, funciona bien y se demora creo que lo
razonable, pero cuando creo la vista a través de create
view me genera un error de time out y no me extrae los
datos ya cambie todas las opciones de tiempo de espera




que
se pueden cambiar por sp_configure pero sigue




presentando
el error.

Por favor necesito algun tip para solucionar este




problema.

1.000 Gracias Anticipadas




.

Respuesta Responder a este mensaje
#3 Javier Loria
12/09/2003 - 18:05 | Informe spam
Hoa Carlos:
No veo ninguna razon para que ocurra el comportamiento que describes.
O los planes de ejecucion estan incorrectos o hay algun problema con las
estadisticas.
Aparte de la revision de los planes de ejecution, yo revisaria las
opciones de configuraciona de la BD. Especificamente el 'AUTO CREATE
STATISTICS' y el 'AUTO UPDATE STATISTICS' para ver si estan activas.
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.
Carlos Augusto escribio:
El código es el siguiente:

SELECT fechavlodate, numvlo, origen, destino, SUM
(pax_rev_adulto + pax_norev_adulto) AS adults, SUM
(pax_rev_niño + pax_norev_niño) AS children,
SUM(pax_norev_infan) AS Infants, SUM
(pax_on_norev) AS [ONLINE NON REVENUE PAX], SUM
(pax_in_norev) AS [OAL NON REVENUE PAX],
SUM(pax_on_rev_tra) AS [CONNECTING
ONLINE REVENUE PAX], SUM(pax_in_rev_tra) AS [CONNECTING
OAL REVENUE PAX], SUM(pax_on_rev_loc)
AS [ONLINE LOCAL REVENUE PASSENGER],
SUM(pax_in_rev_loc) AS [OAL LOCAL REVENUE PASSENGER], SUM
(usd_on_norev)
AS [ONLINE NON REVENUE PAX USD], SUM
(usd_in_norev) AS [OAL NON REVENUE PAX USD], SUM
(usd_on_rev_tra)
AS [CONNECTING ONLINE REVENUE PAX
USD], SUM(usd_in_rev_tra) AS [CONNECTING OAL REVENUE PAX
USD], SUM(usd_on_rev_loc)
AS [ONLINE LOCAL REVENUE PASSENGER
USD], SUM(usd_in_rev_loc) AS [OAL LOCAL REVENUE PASSENGER
USD], SUM(cop_on_norev)
AS [ONLINE NON REVENUE PAX COP], SUM
(cop_in_norev) AS [OAL NON REVENUE PAX COP], SUM
(cop_on_rev_tra)
AS [CONNECTING ONLINE REVENUE PAX
COP], SUM(cop_in_rev_tra) AS [CONNECTING OAL REVENUE PAX
COP], SUM(cop_on_rev_loc)
AS [ONLINE LOCAL REVENUE PASSENGER
COP], SUM(cop_in_rev_loc) AS [OAL LOCAL REVENUE PASSENGER
COP]

FROM trafico
GROUP BY fechavlodate, numvlo, origen, destino

como decia este codigo se demora aprox 1 min. en generar
la información pero al querer ver los datos a trvés de la
vista genera un error de time out



Hola Carlos Augusto:
Podria ocurrir que por alguna razon se esten usando 2 planes
diferentes de ejecucion.
Para probar esta hipotesis podrias ejecutar la consulta en el
Analizador de Consulta y revisar los planes de ejecucion. Si son
diferentes, puedes usar HINTS de indices para "optimizar" la vista.
Aun cuando esto rara vez es necesario, algunas veces ocurre que el
optimizador de consultas no la "pega" con el plan de ejecucion. :(
Si puedes ensenar el codigo de la consulta podriamos revisar otras
posibilidades.

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.
Carlos Augusto escribio:
Buenos Días a todos:

Resulta que tengo una vista que extracta y sumariza un
conjunto de registros (72000) de una tabla de 2'900.000.
el problema es que cuando ejecuto el select desde del
Query Analizer, funciona bien y se demora creo que lo
razonable, pero cuando creo la vista a través de create
view me genera un error de time out y no me extrae los
datos ya cambie todas las opciones de tiempo de espera que
se pueden cambiar por sp_configure pero sigue presentando
el error.

Por favor necesito algun tip para solucionar este problema.

1.000 Gracias Anticipadas




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