Fala pessoal, olha só, tenho uma aplicação WEB desenvolvida em NodeJS, Javascript, Bootstrap e utilizo como banco de dados um servidor MySQL.
Meu problema é que quando entro numa tela que possui uma DataTable a DataTable está demorando demais para carregar, chega a ficar mais de 2 minutos processando até chegar ao final, por favor, podem me ajudar se existe uma outra forma de eu popular ela, abaixo como estou fazendo:
Rota que entra na tela de materiais:
rotas.get('/material', pageMaterial);
Ao acessar a rota acima entra no codigo abaixo que envia as informações para tela:
pageMaterial: (req, res) => {
page = './includes/cadastros/inc_material';
//Esta é a consulta que traz todos os registros para popular a DataTable
let query = "SELECT * FROM `tb_cadastro_material`";
db.query(query, (err, results, fields) => {
//Passa o conteúdo das variáveis para a página principal
res.render('./pageAdmin', {
DTMaterial: results,//Aqui recebe os dados para popular a DataTable
page
});
});
})();
}
E aqui é meu arquivo ejs (Frontend) onde tenho o DataTable recebendo os dados passados na variável acima DTMaterial:
<tbody>
<!-- Detalhes: Dados da tabela -->
<% DTMaterial.forEach((row, index) => { %>
<tr>
<td><%= row.cod %></td>
<td><%= row.material %></td>
<td style="min-width: 150px;"><%= row.descricao %></td>
<td><%= row.multiplo %></td>
<td><%= row.familia %></td>
<td><%= row.grupo %></td>
<td style="min-width: 150px;"><%= row.observacao %></td>
</tr>
<% }) %>
Este é o resultado depois que carrega 100%, mas está demorando demais pra carregar:
Dados fictícios


