In meiner Anwendung Android muss ich ein Objekt arraylist mit den Daten aus einer Datenbank füllen. Auch die Daten sollten sortiert werden. Also ich habe zwei Möglichkeiten.
von diesen, was mehr effizient und weniger Auswirkungen auf die Laufzeit hat. Hilfe benötigen. Danke!
Sortieren Sie die Daten, während Sie mit SQL aus der Datenbank aufnehmen und in die Datenbank einfügen Array
Wenn Sie Daten auf Datenbankebene sortieren können, tun Sie es. Das Sortieren auf Datenbankebene ist viel schneller als im Speicher - besonders wenn Ihr Speicher bei vielen Datensätzen eingeschränkt ist. Auch die Leistung kann durch Verwendung von Indizes, die viele Datenbanken bereitstellen, erhöht werden.
Wenn Sie also in der Lage sind, in der Datenbank zu sortieren, können Sie in der Datenbank sortieren. Wenn nicht, in der Anwendung sortieren, aber hier sind Sie durch den Speicher beschränkt und das Sortieren ist wesentlich langsamer.
Hinweis: Es ist erwähnenswert, dass wenn Ihr Sortieralgorithmus während der Laufzeit sehr wechselhaft ist (mit hoher Häufigkeit und sich zu ändern beginnt, nachdem Daten aus der Datenbank abgerufen wurden), es gut ist, über die Sortierung in der Anwendung nachzudenken nicht in der Datenbank und einige machen Die Analyse konzentrierte sich auf Vorteile und Nachteile aufgrund von Anwendungsanforderungen (z. B. Leistung).
Wenn Ihr Dataset klein ist, können Sie die Daten programmgesteuert sortieren, da Sie eine komplexe Sortierung durchführen können.
Aber wenn Ihr Datensatz groß ist, dann ist DB sort der beste Weg. Meiner Meinung nach ist es besser, mit DB zu sortieren. Sehen Sie sich ORDER BY
in SQL an.
Wenn Sie mit einer einfachen Logik sortieren, ist es besser, zu sortieren, während Sie aus der Datenbank nehmen. Wenn es sich um eine komplexe Logik handelt, ist die Java-Seitensortierung die bessere Option.
Datenbanken werden für das erneute Abrufen von Daten in einer bestimmten Reihenfolge erstellt. Wenn Sie also die Wahl haben, verwenden Sie die Datenbank zum Sortieren.
Wenn Ihre Sortieranforderungen jedoch komplex und in der Datenbanksprache schwierig zu verschlüsseln sind, sollten Sie dies selbst tun.