none
Demora Consulta RRS feed

  • Pregunta

  • Que tal.

    Soy un poco nuevo en esto, podrian apoyarme en ver el porque tardara en realizar la consulta de la siguiente vista en sql 2008.

    Gracias

    ALTER VIEW [dbo].[Reporte_Encuesta]
    AS
    select 
    T2.code as Codigo_Reporte, 
    incidentCode AS Incidencia_Encuesta,
    surveyName AS Grupo, 
    questionText AS Encuesta,
    numberValue AS Valor,

    T1.incidentTitle AS Titulo_Incidente, 

    replyDate AS Fecha_Creacion,
    value AS Valor_Encuesta,

    T3.padCategories_id AS Codigo_Categoria,

    userIncidentName AS Nombre_Usuario_Incidente, 
    responsibleIncidentName AS Responsable_Incidente,

    T4.responsibleSignatureDate AS Fecha_Firma_Solucion,

    pawSvcAuthUsersResponsibleName AS Usuario_Responsable,
    replied AS Codigo_Respuesta

    FROM viewAllQuestionReplies  LEFT JOIN viewAllIncidents
    ON incidentCode = code

    --WHERE incidentCode = code

    LEFT JOIN padIncidents T1
    ON T1.incidentTitle = viewAllIncidents.incidentTitle

    LEFT JOIN viewAllIncidents T2
    ON T2.code = viewAllQuestionReplies.incidentCode

    LEFT JOIN padIncidents T3
    ON T3.padCategories_id = viewAllIncidents.padCategories_id

    LEFT JOIN padIncidents T4
    ON T4.responsibleSignatureDate = viewAllIncidents.responsibleSignatureDate


    WHERE viewAllQuestionReplies.incidentCode = viewAllIncidents.code


    GO

    miércoles, 3 de agosto de 2016 13:46

Respuestas

  • Entonces si la vista ya está creada utiliza la instrucción:

    SELECT NOMBRE_VISTA FROM…

    Ejemplo:

    SELECT * FROM Reporte_Encuesta

    Con esa instrucción consultas la vista previamente creada.

    Para eliminar la vista :

    DROP VIEW NOMBRE_VISTA

    Nos comentas. Estamos al tanto.


    Miguel Torres



    miércoles, 3 de agosto de 2016 14:29
  • aldogarcia80,

    ¿Puedes mostrarnos el plan de ejecución actual?

    Abre una ventana de SQL Server Managment Studio y coloca las instrucciones que permiten la ejecución de la vista:

    SELECT * FROM dbo.Reporte_Encuesta

    Luego ve al menú Consulta y marca la opción [Incluir plan de ejecución actual], ejecuta la consulta [F5] y revisa el Tab [Plan de Ejecución] en la ventana de resultados. 


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 3 de agosto de 2016 16:40

Todas las respuestas

  • Hola Aldo

    El tiempo que tarda la consulta puede depender de varios factores:

    La capacidad de procesamiento y de memoria de tu computadora.

    La cantidad de datos que devuelve la vista y las fuentes de datos que consulta.

    ¿pero de cuánto tiempo estamos hablando y qué cantidad de datos hay el el conjunto?.

    Quedamos al tanto.

    Saludos,



    Miguel Torres


    miércoles, 3 de agosto de 2016 13:59
  • Que tal Miguel, 

    Pues el tiempo no esta definido, ya que detengo la consulta porque llego a esperar hasta 10 minutos, con respecto a la cantidad de datos aun no estoy del todo seguro. 

    Porque como se trata de una vista que consulta a dos vistas mas nose si el problema seria por ese lado.

    Saludos y gracias.

    miércoles, 3 de agosto de 2016 14:02
  • Hola Aldo 

    Ten presente que para crear la vista por primera vez utilizas CREATE VIEW, cuando ya está creada para modificarla se utiliza ALTER VIEW.

    Antes de crear la vista se recomienda hacer la consulta con la cláusula SELECT (Recomendado) y probar que funciona. Entonces, si funciona la cláusula Select, también funcionará con la vista.  

    Ten en cuenta las siguientes recomendaciones al usar vistas:

    Las vistas se crean en la base de datos activa.

    Cuando se crea una vista, SQL Server verifica que existan las tablas referenciadas.

    Se aconseja probar con la sentencia SELECT con la cual se define la vista antes de crearla para asegurarse que el resultado que retorna es el que se requiere.

    Existen algunas restricciones para el uso de CREATE VIEW:

    - No puede incluir las cláusulas COMPUTE ni COMPUTE BY tampo la palabra INTO;

    - No se pueden crear vistas temporales ni crear vistas sobre tablas temporales.

    - No se pueden asociar reglas ni valores por defecto a las vistas.

    - No puede combinar con otras instrucciones en un mismo lote.

    Se pueden construir vistas sobre otras vistas.

    Quedo al tanto,


    Miguel Torres






    miércoles, 3 de agosto de 2016 14:18
  • Hola.

    Para poder ayudarte y darte algunas posibles indicaciones, necesitamos el plan de ejecución de dicha consulta. Para ello debes esperar a que termine la consulta, ya que creo que en SQL Server 2008 no estaba todavía la funcionalidad de visualizar el plan de ejecución estimado. Revisa a ver si lo encuentras, por favor; debe estar en el menú principal del SQL Server Management Studio, bajo la opción "Query".

    Nos cuentas...

    Saludos,


    Guillermo Taylor F.
    MVP Data Platform & IT Pro
    Mi Blog

    miércoles, 3 de agosto de 2016 14:20
  • Si antes de crear la vista, realice lo que me comentas Miguel, hice las pruebas de la consulta con un SELECT y confirme que eran los datos que deseaba traer.

    Creo que por ese lado no tendria problema, este caso que tarda la consulta no se si se algun problema de indice o algo por el estilo.

    miércoles, 3 de agosto de 2016 14:22
  • Entonces si la vista ya está creada utiliza la instrucción:

    SELECT NOMBRE_VISTA FROM…

    Ejemplo:

    SELECT * FROM Reporte_Encuesta

    Con esa instrucción consultas la vista previamente creada.

    Para eliminar la vista :

    DROP VIEW NOMBRE_VISTA

    Nos comentas. Estamos al tanto.


    Miguel Torres



    miércoles, 3 de agosto de 2016 14:29
  • aldogarcia80,

    ¿Puedes mostrarnos el plan de ejecución actual?

    Abre una ventana de SQL Server Managment Studio y coloca las instrucciones que permiten la ejecución de la vista:

    SELECT * FROM dbo.Reporte_Encuesta

    Luego ve al menú Consulta y marca la opción [Incluir plan de ejecución actual], ejecuta la consulta [F5] y revisa el Tab [Plan de Ejecución] en la ventana de resultados. 


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 3 de agosto de 2016 16:40