none
agilizar proceso de consulta RRS feed

  • Pregunta

  • hola comunidad tengo el siguiente problema ,estoy realizando una consulta con EF que es bastante pesada , inicialmente la hize sin usar un proceso con BackgroundWorker y la verdad  esto colgaba mi aplicacion y el proceso era de unos 49 segundos  , luego decidi usar el BgW y ya aplicacion no se bloquea pero el tiempo sigue siendo malo aunque bajo 9 segundos , hay alguna alternativa para agilizar este proceso? y por ultimo quiero saber como poder ilustrar con un ProgressBar el proceso de la consulta.De antemano gracuas por su atencion brindada.


    Sergio Fernandez Cruz Life Run's of Code

    lunes, 3 de diciembre de 2012 21:44

Todas las respuestas

  • Usa las herramientas de SQL Server. Arranca el Profiler, pon en marcha tu programa, y deja que el Profiler capture la sentencia que Entity Framework ha enviado al servidor. El Profiler te mostrará los ciclos de CPU consumidos y las operaciones de entrada/salida necesarias para resolver la consulta. Si realmente son mayores de lo que esperabas teniendo en consideración el volumen de datos que se maneja, entonces copia la sentencia desde el Profiler y pégala en la ventana de consultas de Management Studio. Pídele que te presente el Query Plan, y verifica si el optimizador la está resolviendo de una manera razonable. Si ves que tiene varios Table Scan o Index Scan (en lugar de Index Seek), esto indicaría que no tienes en la base de datos unos índices adecuados para resolver la consulta con eficacia. En ese caso, apóyate en el Database Engine Tuning Advisor para que te recomiende los índices que debes cerar. Esto debería mejorar sustancialmente la velocidad de resolución de la consulta.

    sábado, 8 de diciembre de 2012 8:49