Aprenda a configurar correctamente sus listas con el generador CRUD para evitar largos tiempos de carga.
Con el generador PHP CRUD, el tiempo de carga de las listas READ de su panel de administración debería ser generalmente rápido y no superar unos segundos como máximo. Los tiempos de carga anormalmente largos se deben a la configuración de sus filtros o al número de consultas necesarias para mostrar los datos.
En ambos casos, la solución es sencilla de implementar utilizando el Generador CRUD. A continuación le indicamos cómo proceder para reducir el tiempo de carga.
Cuando añade un filtro de registros a su lista READ, el programa envía la consulta SQL y recupera todos los registros de la base de datos. A continuación, genera un campo de selección
que incluirá tantas opciones como registros tenga.
Esto es perfecto para una tabla que contenga unas pocas docenas o incluso cientos de registros, pero si su tabla contiene miles, aumentará significativamente el tiempo de carga de la página.
En este caso, necesita habilitar la carga Ajax al crear su filtro desde el generador CRUD.
Con la carga Ajax activada, la página cargará un campo de entrada
simple unido a un plugin de autocompletado
. El plugin obtendrá los registros bajo demanda para el autocompletado. De esta forma, evitará cargar datos pesados e innecesarios al cargar su página principal.
Cuando carga una lista de registros de su base de datos, el programa realiza las siguientes consultas:
Si ha activado las relaciones externas, el programa también realizará las siguientes consultas:
Por ejemplo, si tiene una tabla de películas vinculada a una tabla de actores y a una tabla de categorías, y ha activado la visualización de los nombres de los actores y las categorías en la lista de películas, el programa realizará dos consultas por cada película para recuperar los nombres de los actores y las categorías.
Si muestra 20 películas por página, obtendrá lo siguiente:
Total: 42 consultas (+ filtros)
Normalmente, aunque haya un número relativamente grande de consultas, no será un problema porque estas consultas sólo devuelven un número limitado de registros. Por lo tanto, son eficaces y rápidas. No obstante, si los tiempos de carga son excesivamente largos, puede desactivar la visualización de determinadas relaciones externas en la lista principal y mostrarlas en otra página. También puede limitar el número de registros mostrados por página.
Esto no concierne a PHPCG, sino directamente a la estructura de su base de datos. Añada un índice a cada campo que vaya a utilizar regularmente en sus consultas. El motor MySQL es más rápido y eficaz con los campos indexados.
Para indexar sus campos: