![]() |
Lokales SQL langsam?
moin leute,
eins will ich jetzt einfach mal wissen. ist das lokale SQL (z.B. auf Paradox-Tabellen) langsamer im vergleich zu einer schleife? also ich hab den SQL-String 'SELECT * FROM tbl WHERE field1 = 'A''. wäre es schneller, die table in delphi zu öffnen, alle datensätze durchzugehen und zu schauen, ob das field1 'A' ist? hat das schon mal jemand gebenchmarkt oder erfahrungen mit der geschwindigkeit von dem lokalen SQL? mfg phXql |
Re: Lokales SQL langsam?
Bei größeren Datenmengen ist es nach meinen Erfahrungen immer schneller die Lösung über SQL zu fahren, speziell, wenn die Felder indiziert sind.
Grund: bei kleinen Datenmengen fällt der Overhead durch Queryanalyzen und Optimierungen negativ auf. Wenn jedoch große Datenmengen durchsucht werden stört das nicht mehr. Jetzt muss nur noch für die zurückgelieferten Daten eine Zeigerarray (Datenset) erstellt und genutzt werden und das ist der eigentliche Zeitfaktor. Kurz: Lässt Du Dir alle Datensätze zurückgeben, so wird der Zeitanteil deer Aufbereitung so groß, daß der Zeitgewinn durch die nicht-DB-seitige Analyze einer komplexeren Query verloren geht. Auf welcher Seite die Daten überprüft werden ist eigentlich egal. Wobei davon auszugehen ist, daß die DB hier sogar schneller ist, da der Algorithmus wahrscheinlich besser ist als Deiner und :!: da die DB direkt an den Daten testen kann, ohne daß diese für Deine Anwendung vorher aufbereitet werden müssen. ...:cat:... |
Re: Lokales SQL langsam?
Zitat:
Gruß, Tom |
Re: Lokales SQL langsam?
Zitat:
...:cat:... |
Re: Lokales SQL langsam?
War ja auch wirklich nur als Zusatzbemerkung gedacht :wink:
Tom |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz