AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird SELECT BETWEEN etxrem langsam
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird SELECT BETWEEN etxrem langsam

Ein Thema von mlc42 · begonnen am 9. Feb 2013 · letzter Beitrag vom 9. Feb 2013
 
mlc42

Registriert seit: 9. Feb 2013
123 Beiträge
 
#1

Firebird SELECT BETWEEN etxrem langsam

  Alt 9. Feb 2013, 13:33
Datenbank: Firebird • Version: 2.52 • Zugriff über: FlameRobin,AnyDAC
Hallo,

ich habe ein seltsames Verhalten bei Firebird entdeckt. Abfragen mit BETWEEN sind teilweise unglaublich langsam.

Beispiel Tabelle mit einigen 100.000 Datensätzen Felder (ID,DATUM,NUMMER,....)

Sekundärer Index auf ID,DATUM,NUMMER ist gesetzt



SELECT * FROM tabelle WHERE (ID BETWEEN 1000 AND 1000) AND (DATUM BETWEEN '01.01.2013' AND '01.01.2013') ORDER BY ID,DATUM,NUMMER
Dieser SQL dauert um die 9 Sekunden und liefert in meinen Daten ca. 8 Datensätze zurück.
Laut Plan nimmt Firebird den INDEX ID,DATUM,NUMMER. Die Platte hört sich aber so an als wenn er mehr macht. Flamerobin zeigt 70.000 Fetches an.




SELECT * FROM tabelle WHERE (ID = 1000) AND (DATUM = '01.01.2013') ORDER BY ID,DATUM,NUMMER (Was in diesem Fall geht da die Grenzen gleich sind)
Dieser SQL dauert 0,09 Sekunden.

Festplatten Cache, Firebird Cache habe ich vor jedem Test geleert. Sonst merkt man das nicht.

Der gleiche SQL wird in meinem Programm auch auf einen MS-SQL Server abgesetzt. Da ist es immer sehr schnell.

Ich habe das bei mir so in ANYDAC geändert, das BETWEEN mit gleichen Grenzen durch = ersetzt wird. Dann funktioniert mein Programm auch auf Firebird
so schnell wie man das bei dieser einfachen Afrage erwarten sollte.

Kennt jemand die Ursache für dieses Verhalten ?

mfg
Martin
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:58 Uhr.
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