Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Order by - aufsteigende Zahlenreihe ...

  Alt 11. Aug 2014, 16: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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