Saiba como configurar corretamente suas listas com o CRUD Generator para evitar longos tempos de carregamento.
Com o PHP CRUD Generator, o tempo de carregamento das listas READ do painel de administração geralmente deve ser rápido e não exceder alguns segundos, no máximo. Tempos de carregamento anormalmente longos devem-se à configuração de seus filtros ou ao número de consultas necessárias para exibir os dados.
Em ambos os casos, a solução é simples de implementar usando o CRUD Generator. Veja a seguir como proceder para reduzir o tempo de carregamento.
Quando o senhor adiciona um filtro de registro à sua lista READ, o programa envia a consulta SQL e recupera todos os registros do banco de dados. Em seguida, ele gera um campo de seleção
que incluirá tantas opções quantos forem os registros do senhor.
Isso é perfeito para uma tabela que contém algumas dezenas ou até centenas de registros, mas se a sua tabela tiver milhares, isso aumentará significativamente o tempo de carregamento da página.
Nesse caso, o senhor precisa ativar o carregamento do Ajax ao criar o filtro a partir do gerador CRUD.
Com o carregamento do Ajax ativado, a página carregará um campo de entrada
simples anexado a um plug-in de preenchimento automático
. O plug-in buscará os registros sob demanda para preenchimento automático. Dessa forma, o senhor evita carregar dados pesados e desnecessários ao carregar a página principal.
Quando o senhor carrega uma lista de registros do seu banco de dados, o programa executa as seguintes consultas:
Se o senhor tiver ativado as relações externas, o programa também executará as seguintes consultas:
Por exemplo, se o senhor tiver uma tabela de filmes vinculada a uma tabela de atores e uma tabela de categorias e tiver ativado a exibição de nomes e categorias de atores na lista de filmes, o programa executará duas consultas para cada filme a fim de recuperar os nomes e as categorias dos atores.
Se o senhor exibir 20 filmes por página, obterá o seguinte:
Total: 42 consultas (+ filtros)
Normalmente, mesmo que haja um número relativamente grande de consultas, isso não será um problema porque essas consultas retornam apenas um número limitado de registros. Portanto, elas são eficientes e rápidas. Se, no entanto, o tempo de carregamento for excessivamente longo, o senhor pode desativar a exibição de determinadas relações externas na lista principal e exibi-las em outra página. Também é possível limitar o número de registros exibidos por página.
Isso não diz respeito ao PHPCG, mas diretamente à estrutura do seu banco de dados. Adicione um índice a cada campo que será usado regularmente em suas consultas. O mecanismo do MySQL é mais rápido e mais eficiente com campos indexados.
Para indexar seus campos: