Ich habe eine Tabelle namens clientes, diese Tabelle hat rund 15536 Datensätze, wodurch Daten extrem langsam geladen werden. Wie kann ich die Protokolllast optimieren, um den Prozess zu verbessern?Wie Tausende von Datensätzen angezeigt werden
dies ist meine Indexansicht
<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>
mein Teil 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>
Haben Sie Paging für die Daten durchgeführt oder laden Sie sie einfach? – gaga5lala
Es ist eine einfache Entscheidung. Auf der einen Seite können Sie alle Ihre Datensätze gleichzeitig in den Browser laden. Wie lange das Laden dauert, hängt von vielen Dingen ab, die außerhalb Ihrer Kontrolle liegen, z. B. dem Computer des Benutzers. Es könnte das Warten wert sein. Auf der anderen Seite können Sie schnell einige Datensätze gleichzeitig laden und den Benutzer auswählen, um mehr zu sehen.Wie jede Entscheidung hat jede Option zumindest einen Vorteil gegenüber dem anderen. –
@ gaga5lala nur einmal laden, in der Datentabelle – LuisC