2012-07-11 17 views
5

Quiero saber cómo podemos ejecutar la consulta sql en segundo plano ... Tengo una gran consulta que está tomando tanto tiempo que quiero ejecutar esto como fondo para que el tiempo de carga de mi página será menos ..cómo podemos ejecutar la consulta SQL en el fondo

+0

Comprobar http://stackoverflow.com/questions/60878/priority-of-a-query-in-ms-sql – Sliq

Respuesta

3

Ejecute la consulta en un script PHP utilizando cron y el resultado en caché.

2

Yo sugeriría que el enfoque de CRON y caché, o poner en práctica el uso de AJAX.

Con CRON y Caché, ejecute su consulta, luego serialícela y guárdela en un archivo para mayor cordura. Llamar y deserializar cuando sea necesario.

Con AJAX, cuando su página se carga, realice una llamada a un archivo que se ejecuta y devuelve la consulta. De esta forma, puede mostrar un indicador de espera mientras su servidor ejecuta la consulta y están separados unos de otros.

3

Puede llamar a sus consultas en scripts separados con AJAX. Cuando se solicita la página, procese PHP como siempre, represente y envíe la página al visitante e inicie inmediatamente un script AJAX solicitando otro script PHP que ejecute la consulta lenta. La página se cargará mientras se ejecuta la consulta, y cuando obtenga los resultados de su consulta, use un poco de JavaScript para incorporar los resultados. La ganancia aquí es que mientras la página se está cargando, la consulta se está ejecutando, por lo que está haciendo ambas cosas a la vez.

Consulte también la optimización de su consulta y asegúrese de haber establecido un índice en sus tablas para acelerar la consulta.

+0

thanks..I también estoy pensando así ... –

+0

Esto no será una solución para las consultas que siempre deseas ejecutar. ¿Qué sucede si el usuario desactiva javascript o usa un navegador que no admite javascript? – nonybrighto

+0

No, esta es una solución para una solicitud de "fondo" de ejecución lenta. Si quieres que se haga de inmediato, golpea un punto final diferente. Estamos hablando de dos cosas diferentes. En cuanto a JavaScript deshabilitado, probablemente tendrá que informar al usuario que han perdido la funcionalidad debido a su elección. Una aplicación web con cierta sofisticación, como ejecutar consultas en el servidor mientras el usuario hace otra cosa, tendrá JavaScript o requerirá que el usuario actualice y verifique si la consulta está completa. No hay nada de malo en hacer de JavaScript un requisito para obtener una funcionalidad completa. –

0

Escriba la consulta en su archivo PHP y prográmela en el intervalo de tiempo o de tiempo cuando desee ejecutarla. Para el horario de Linux CRON o el uso de Windows Task Scheduler cosa que se pueda desencadenar por Ajax solicitud

Cuestiones relacionadas