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 meu amigos.
Podem me ajudar com datatables e milhoes de registros? ^^
Tenho uma pagina php com datatables configurado para buscar no banco de dados uma tabela com uma média de 76 milhoes de registros(Tipo: MyISAM) usando o script php padrão do proprio datatables que por sinal é mto bom. (http://datatables.net/release-datatables/examples/data_sources/server_side.html).
Mas mesmo assim não está sendo suficiente... vcs tem alguma ideia de como posso otimizar isso?
Segue o trecho da minha chamada do datatables... o php server-side como referenciam nos artigos é o mesmo d o link acima.
<script>
$(function(){
if ($('.dynamicTable1').size() > 0){
oTable_informacoes = $('.dynamicTable1').dataTable({
"sPaginationType": "bootstrap",
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"aoColumnDefs": [ { "bVisible": false, "aTargets": [ 0 ] } ],
"aaSorting": [[ 0, "asc" ]],
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "includes/data_tables.php",
"fnServerParams": function (aoData) {
aoData.push(
{ "name": "tipo", "value": "<?php echo $tipo; ?>" }
);
},
"oLanguage": {
"sLengthMenu": "_MENU_ resultados por página"
}
});
}
});
</script>
Obrigado desde ja.Não não... vc chegou dar uma olhada no link que anexei na postagem? La tem o script de consulta.
Bom eu vi que tem um limit no script
mais de qualquer forma procure por "tuning mysql"
é uma forma que se tem de otimizar um banco deste tamanho ;)
Posso procurar por isso.
Mas o limit no codigo é para paginação... o script é mto bom... ele mostra quantidades relativamente altas em segundos... mas eu nunca havia testado ele com milhoes de resultados.... ele chega mostrar os resultados mas leva muito tempo, estou levando em torno de 3 a 5 minutos para exibir, e isso quando não congela. Preciso otimizar isso... vi relatos no forum do proprio datatables que pessoas conseguem buscar 200 milhoes numa boa.... é frustrante isso kkkk
Suas tabelas tem índices criado?
Senão tiver demora mesmo!
Da uma lida neste post deve te ajudar!
http://forum.imasters.com.br/topic/509615-php-tabela-grande/
Indexei a tabela mas mesmo assim não adiantou... a consulta é extremamente lenta.... :/
Nunca trabalhei com volume desta natureza, no máximo 2,5 milhões
Vai ter que mexer no código para funcionar seu índices
... FROM table USE INDEX (name_indice) WHERE ...
Sugiro a criar partições, e pedir ajuda para galera do fórum de SGBD
Sei que cheguei tarde, mas enfim, já trabalhei com mais de 700 milhões de dados, dicas importantes:
Mas você está usando LIMIT nas queries ou esse plugin está apenas mostrando parte? Se for um SELECT * FROM tabela ficará lento de qualquer jeito.