2016-07-21 24 views
0

Ich habe eine Anwendung mit einem ListView, um alle verfügbaren Dokumente zu zeigen, diese Frage geht es um seine Leistung und Best Practices, wenn ich die Daten auf die ListView und wann Ich filtere die Ergebnisse davon.ListView und sqlite Resultset Suche/Filter (Leistung und Best Practices)

1) Es gibt etwa 60000 Ergebnisse in der Datenbanktabelle, sollte ich alle 60000 Zeilen einmal laden oder 100 Zeilen laden und jedes Mal, wenn ich das Ende der ListView erreiche, eine weitere Abfrage ausführen und 100 weitere Zeilen hinzufügen?

2) Ich habe ein TextField, das den SearchText -Wert auf die ListView setzt, aber, wenn ich nur 100 oder 200 Zeilen zeige, und die gesuchte Zeile ist nicht unter ihnen, wird das vorgetäuschte Ergebnis nie erscheinen, sollte Ich führe eine SQLite-Abfrage mit dem SearchText-Wert aus, um das Resultset zu filtern und die ListView-Daten zu ersetzen oder die 60000-Zeilen zu haben und den Suchtext-Wert zu verwenden?

Antwort

2

Wie viele Personen werden alle 60.000 Zeilen lesen? Genau, keiner. Wie viele Leute werden 100 lesen? Ein paar, vielleicht.

So laden nur 100 Artikel ist gut für 99% der Fälle. Mit einem widget zum Laden mehr Daten ist im Grunde, was Sie brauchen.

Über die Suche, gehen Sie stattdessen mit SQL-Abfrage. Die Suche innerhalb von 60.000 Zeilen ist ziemlich schwer. SQL ist dafür gebaut, nutzen Sie es zu Ihrem Vorteil.