私はクライアントと呼ばれるテーブルを持っていますが、このテーブルには約15536レコードがあり、データの読み込みが非常に遅くなります。プロセスを改善するためにログ負荷を最適化するにはどうすればよいですか?何千ものレコードを表示する方法
これはこれは私がルビーのプログラマではないですので推測のビットです、しかし、のは、見てみましょう私のインデックスビュー
<h1>Clientes</h1>
<style>
.container {
}
</style>
<table id="clientes" class="display"><!--el id clientes es de datatables referenciado en clientes.coffe y display class es una clase de datatables-->
<thead>
<tr><!--active es para sombrear la fila-->
<th>Clave</th>
<th>Nombre</th>
<th>Nombre Corto</th>
<th>Dirección</th>
<th>Colonia</th>
<th>Credito</th>
<th>DiasCredito</th>
<th>LimiteCredito</th>
<th>Saldo</th>
<th>Ruta</th>
<th>Promociones</th>
<th>Acción</th>
<th></th>
</tr>
</thead>
<tbody id="container_clientes">
<%= render @clientes %><!--carga todos los clientes-->
</tbody>
私の部分cliente.html.erb
<tr id="cliente_<%= cliente.id %>">
<td><%=cliente.IdCli%>
</td>
<td><%=cliente.Nombre%></td>
<td><%=cliente.NombreCorto%></td>
<td><%=cliente.Direccion%></td>
<td><%=cliente.Colonia%></td>
<td>
<% if cliente.Credito == true%>
<input type="checkbox" disabled="true" checked="true">
<%else%>
<input type="checkbox" disabled="true" >
<%end%>
</td>
<td><%=cliente.DiasCreedito%></td>
<td><%=cliente.LimiteCredito%></td>
<td>
<% if cliente.detallecob.last != nil%>
<%=cliente.detallecob.last.Saldo%>
<%else%>
<%=cliente.Saldo%>
<%end%>
</td>
<td>
<% if cliente.relclirutas != nil%>
<% cliente.relclirutas.each do |varias| %>
<%=varias.ruta.Ruta%>
<%end%>
<%end%>
</td>
<td>
<% if cliente.relclili != nil%>
<%=cliente.relclili.listapromomast.ListaMaster%>
<%end%>
</td>
<td>
<%= link_to '<i class="fa fa-gift" aria-hidden="true"></i> Activos'.html_safe, activos_cliente_path(cliente), class:"btn btn-primary btn-xs boton" %>
<button type="button" class="btn btn-warning btn-xs" data-toggle="modal" data-target="#myupdatecliente_<%= cliente.id %>">
Editar
</button>
<!--Destroy-->
<% if cliente.Status == true%>
<%= link_to 'Eliminar', cliente, method: :delete, class: "btn btn-danger btn-xs", remote:true %>
<%else%>
<%= link_to 'Habilitar', cliente, method: :delete, class: "btn btn-success btn-xs", remote:true %>
<%end%>
</td>
<td class="no" >
</td>
</tr>
データをページングするか、一度に読み込むだけでしたか? – gaga5lala
これは簡単な決定です。一方で、すべてのレコードをブラウザに一度に読み込むことができます。ロードにかかる時間は、ユーザーのコンピュータなど、制御できない多くのものによって異なります。それは待つ価値があるかもしれません。一方、一度にいくつかのレコードをすばやく読み込んで、ユーザーが何かを選択してより多くのレコードを表示できるようにします。すべての決定と同様に、各オプションには他のオプションよりも少なくとも優位性があります。 –
@ gaga5lalaはデータテーブルに一度だけロードします – LuisC