Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera,
Tenho um sistema que mostra os dados do banco através do uso do datatables. Até aí tudo bem, pois ele desempenha a função muito bem.
O problema é quando o volume de dados é muito grande, ele leva alguns minutos para carregar todos os dados para depois mostrar a listagem através de paginação.
Gostaria de saber se como o datatable tem um limite de paginação: 10, 25, 50 e 100, se não teria como eu limitar também a consulta ao banco e, não carrega tudo de uma vez para depois ordenar, ou seja, quero que ele carregue somente quando requisitado, tipo, 10, 15 etc.
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('#table').dataTable({
order: [[0, 'asc']],
displayLength: 10,
});
});
</script>
Coloquei esse displayLength: 10, isso ajuda em alguma coisa?
Valeu
O que vc tem q ver se a lerdeza do banco é em mostrar(que eu acho dificil) ou em montar as junções e aplicar os wheres.
Vc deveria pegar a query original e aplicar um EXPLAIN
https://dev.mysql.com/doc/refman/5.0/en/explain.html
Depois coloque o resultado do explain aqui para analisarmos.
Um abraço!
Se o volume de dados é muito grande e são feitas muitas buscas, considere usar um Servidor de Busca, como o ElasticSearch
Você mantém seu BD mysql, faz todos os INSERTs nele, mas cria índices no ElasticSearch. Seu site busca nele, de uma só vez, sem precisar fazer diversos JOINs como seria no mysql
Uso ele aqui mas estou meio sem tempo.
Vê se o código ajuda. Dá uma olhada na documentação do site também.