![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: ZEOS
SQL-Abfrage langsam?
Hallo,
ich hab eine Datenbank die momentan knapp 53000 Datensätze hat. Wenn ich folgendes Statement absetze, dann dauert das etwa 500-1500ms.
SQL-Code:
(das feste Datum ist normalerweise ein DateTimePicker)
SELECT DATUM, UHRZEIT, TEMPSENSOR_1, FEUCHTESENSOR_1 FROM Wetterdaten WHERE DATUM = '12.05.2017' ORDER BY UHRZEIT
Ich finde das irgendwie langsam. Ist das eine reele Zeit für so etwas? |
AW: SQL-Abfrage langsam?
Ist ein Index auf dem Datumsfeld?
Der sollte es beschleunigen. Ansonsten fragt man Datumswerte nicht als String ab. Und speichert sie in der Tabelle auch nicht als String, sondern als Date Typ. Dann sollte das alles kein Problem sein. Hilfreich wäre die Spaltendefinition der Datumsspalte in der Tabelle. |
AW: SQL-Abfrage langsam?
So richtig schnell würd' ich dazu nicht sagen.
Wie oft wird das Statement ausgeführt? Bei meinen FireBird-DBs ist sowas immer beim ersten Mal deutlich langsamer, als bei wiederholtem Aufruf. Gibt's 'nen Index auf Datum und einen Index auf Uhrzeit? Und wie Jobo schon schreibt: Ein Datum sollte man als Datum speichern. Ebenso auch Uhrzeit ... Zeig' uns bitte mal den Quelltext rund um den Aufruf des Statements, eventuell kann man da was verbessern. |
AW: SQL-Abfrage langsam?
Hallo,
Uhrzeit ist vom Typ Date in der Datenbank. Ansonsten gibt es keine Indexe. |
AW: SQL-Abfrage langsam?
Wird's damit besser?
SQL-Code:
CREATE INDEX IX_Wetterdaten_Datum on Wetterdaten (DATUM);
CREATE INDEX IX_Wetterdaten_Uhrzeit on Wetterdaten (Uhrzeit); |
AW: SQL-Abfrage langsam?
Zitat:
|
AW: SQL-Abfrage langsam?
Moin...8-)
Zitat:
Delphi-Quellcode:
...und warum übergibst du trotzdem das Datum als string? Damit die DB das casten muß? :gruebel:
SELECT DATUM, UHRZEIT, TEMPSENSOR_1, FEUCHTESENSOR_1 FROM Wetterdaten WHERE DATUM = '12.05.2017' ORDER BY UHRZEIT
. |
AW: SQL-Abfrage langsam?
Parameter?
Code:
Wie rum Castet die DB eigentlich, bei sowas?
WHERE DATUM::VARCHAR = '12.05.2017'
WHERE DATUM = '12.05.2017'::DATE |
AW: SQL-Abfrage langsam?
Zitat:
|
AW: SQL-Abfrage langsam?
Zitat:
Nach nem Test funktioniert es aber doch :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 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