Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Lücken in fortlaufender Nummerierung finden (https://www.delphipraxis.net/188280-luecken-fortlaufender-nummerierung-finden.html)

jobo 16. Feb 2016 14:36

AW: Lücken in fortlaufender Nummerierung finden
 
ot
Zitat:

Zitat von Neutral General (Beitrag 1330525)
Würde es für Paradox ne SQL-Lösung geben wäre die auch sehr wahrscheinlich schneller als eine in Delphi.
War also keine schlechte Idee nach SQL zu fragen bzw. es mit SQL zu versuchen.

Ich denke, das ist genau das Problem, auf das Uwe hinweisen wollte. Der "Server" von Paradox ist immer(!) der eigene PC. Idealerweise liegt das Datenfile lokal und es gibt keinen Netzwerkzugriff /-transport.
Das SQL wird vermutlich eh von der BDE in sequentielle Zugriffe umgebaut, mein eigener Hinweis bezüglich not exists versus outer join ist ja auch fragwürdig bei dieser Art File DB.

SQL=schneller als per Clientprogrammierung finde ich auch immer eine gute Idee, gilt m.E. nur wenn tatsächlich ein echter Server im Spiel ist.
/ot

Uwe Raabe 16. Feb 2016 15:11

AW: Lücken in fortlaufender Nummerierung finden
 
Ich habe den Code nochmal etwas umgebaut, da der erste Datensatz überflüssigerweise zweimal überprüft wurde. Zusätzlich habe ich noch ein Begin/Endupdate auf Target eingebaut.

Leider habe ich gerade keine richtig große Paradox-Tabelle da, aber auf meinem System schafft diese Methode die 4500 Sätze in 5 ms.

hoika 16. Feb 2016 16:56

AW: Lücken in fortlaufender Nummerierung finden
 
Hallo,
wenn es nur eine Tabelle ist, dann wirklich lokal machen mit 2 String-Listen.

LocalSQL auf eine Paradox-Tabelle (Achtung, also keine Generatoren möglich)
würde ich sein lassen, das ist furchtbar langsam (naja, kommt auf die Tabelle und die SQL-Anweisung an).

Noch eine Frage zu den Lücken:
Auch das AutoInc erzeugt doch Lücken beim Löschen,
oder hast du standardmäßig keine Datensätze gelöscht?

Paradox:
index out of date
blob has been modified

Gott sei dank ich bin da weg ;)


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz