Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#30

AW: Order by - aufsteigende Zahlenreihe ...

  Alt 11. Aug 2014, 15:16
Wenn das nur einmal pro Datensatz gemacht wird, z.B. als zusätzliche Spalte im SELECT, dann ist es zumindestens nicht sehr viel langsamer.
Aber wenn dann mal einer auf die Idee kommt und eine Zahl mit mehr als 8 Dezimalstellen verwendet, dann geht das natürlich nicht mehr.

Der Bearbeitung und Erstellen des Vergleichstrings ist aber vermutlich/bestimmt etwas langsamer, als eine gut implementierter Vergleichsfunktion.
Als Vergleich: if s = '123then ist schneller als ein if s = IntToStr(123) then ,
bzw. if i = 123 then ist schneller als ein if IntToStr(i) = '123then .

Kommt dann darauf an, wie gut der Sortieralgo ist, also wieviele Vergleiche der benötigt
und wie groß der Unterschied zwischen der ErweitereMitNullen-Funktion ist, gegenüber der zusätzlichen Zeit für eine aufwändigere Vergleichsfunktion.

Wenn die Strings für jeden einzelnen Vergleich so umgewandelt werden (mit Nullen füllen), dann würde das jedenfalls schnell extrem langsam.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (11. Aug 2014 um 15:38 Uhr)
  Mit Zitat antworten Zitat