Die beste Methode zum Sortieren von Daten [duplizieren]

8

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.

  1. Sortieren Sie die Daten während des Entnehmens aus der Datenbank mit SQL und fügen Sie sie in das Array
  2. ein
  3. Holen Sie Daten aus der Datenbank und legen Sie sie in das Array und Sorl die Daten später

von diesen, was mehr effizient und weniger Auswirkungen auf die Laufzeit hat. Hilfe benötigen. Danke!

    
Samantha Withanage 03.12.2013, 09:16
quelle

5 Antworten

2
  

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).

    
Sajmon 03.12.2013, 09:21
quelle
1

Es hängt von vielen Dingen ab. Aber für allgemeine Fälle ist das Sortieren von der Datenbank besser, da es intern Indikationen verwenden kann.

    
stinepike 03.12.2013 09:20
quelle
1

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.

    
Ant's 03.12.2013 09:21
quelle
1

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.

    
Kishan Reddy 03.12.2013 09:24
quelle
1

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.

    
OldCurmudgeon 03.12.2013 09:21
quelle

Tags und Links