Wie kann jquery Datentabelle optimiert werden, um große Daten effizient zu laden (10k-50k Zeilen)?

9

Ich verwende jquery Datatable mit minimaler Konfiguration, um Daten auf meiner Website zu präsentieren. Ich habe 10K bis 50K Datensätze in Datentabelle angezeigt werden.

Momentan benötigt die Datentabelle ungefähr 60 Sekunden, um 3000 Datensätze zu initialisieren .

Es gibt zwei Optionen, die zum Initialisieren der Datentabelle verwendet werden können: -

1) Fügen Sie Datensätze als HTML-Tabelle auf der Seite hinzu und initialisieren Sie dann die Datentabelle für diese Tabelle.
2) Haben Sie einen json von Datensätzen und initialisieren Sie dann Datatable mit diesen Daten.

Die folgenden Schritte helfen uns, die Leistung des Datatable-Plugins zu verbessern: -

1) Reduzierung der Spaltenanzahl 2) Gruppierungsspalten
3) Verwenden Sie nur die Sortierung nach erforderlichen Feldern oder entfernen Sie die Sortierfunktion alle zusammen

Die Daten sind wie folgt  - Es ist eine Reihe von MCQ Fragen mit Optionen zum Vorschauen / Bearbeiten / Löschen

Die Suche nach einer Frage ist etwas sehr Wichtiges für meine Bewerbung .
Bitte stellen Sie eine optimale Lösung zur Verwendung der Datentabelle für den bereitgestellten Datensatz bereit.

    
abhinsit 26.09.2014, 05:14
quelle

1 Antwort

4

Sie haben eine dritte Option vergessen: serverseitige Verarbeitung

Sie können aus der offiziellen Dokumentation fast alles lernen, was Sie wissen müssen: Ссылка

Grundsätzlich laden Sie nur Daten, die unbedingt zum Anzeigen der Tabelle benötigt werden. Da die Seite mehr Daten benötigt, z. B. zu einer anderen Seite gehen oder suchen, gibt der Server den Client mit mehr Daten zurück.

  

Es gibt viele Möglichkeiten, Ihre Daten in DataTables zu übertragen. Wenn Sie mit sehr großen Datenbanken arbeiten, sollten Sie möglicherweise die serverseitigen Optionen in Betracht ziehen, die DataTables bietet. Bei aktivierter serverseitiger Verarbeitung werden alle von DataTables ausgeführten Aktionen für Paging, Suche , Reihenfolge usw. an einen Server übergeben, auf dem eine SQL-Engine (oder Ähnliches) diese Aktionen für den großen Datensatz ausführen kann (nach all das, für was die Datenbank-Engine entwickelt wurde!). Daher führt jedes Zeichnen der Tabelle zu einer neuen Ajax-Anforderung, um die erforderlichen Daten zu erhalten.

    
AmuletxHeart 26.09.2014 05:20
quelle

Tags und Links