![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: IBExpert
Merkwürdikeit bei Select max(id) from..
Hallo,
ich habe zum Testen der Performance eine Testtabelle entworfen die 15.000.000 Datensätze enthält. AR ist die ID und der PrimaryKey Dabei habe ich folgende überaschende Merkwürdogkeit entdeckt:
SQL-Code:
liefert innerhalb von ca. einer 10-tel sec die richtigen Werte zurück
Select * FROM ROHWERTE
where ar between 14000000 and 14000010 unter Verwendung folgenden Plans: (lt. IBExpert) Plan PLAN (ROHWERTE INDEX (PK_ROHWERTE)) Adapted Plan PLAN (ROHWERTE INDEX (PK_ROHWERTE)) während das hier:
SQL-Code:
unter Verwendung folgenden Plans ca 2min braucht:
Select max(ar) FROM ROHWERTE
Plan PLAN (ROHWERTE NATURAL) Adapted Plan PLAN (ROHWERTE NATURAL) Was könnte dafür die Ursache sein und wie kann man das Umschiffen? Viele Grüsse wo |
Re: Merkwürdikeit bei Select max(id) from..
Es gibt ja kein Index für den Maxwert, sondern nur für die Werte, deshalb scheint diese Abfrage ohne den Index ausgeführt zu werden. Versuch mal
SQL-Code:
select first 1 id from rohwerte desc;
|
Re: Merkwürdikeit bei Select max(id) from..
Zitat:
|
Re: Merkwürdikeit bei Select max(id) from..
Zitat:
|
Re: Merkwürdikeit bei Select max(id) from..
Zitat:
PLAN (ROHWERTE NATURAL) |
Re: Merkwürdikeit bei Select max(id) from..
Hallo,
gemeint war:
SQL-Code:
Grüße vom marabu
select first 1 ar from rohwerte order by ar desc
|
Re: Merkwürdikeit bei Select max(id) from..
Hab das hier mit FB2 getestet (Tabelle hatte nur 214 T Einträge ging problemlos.
|
Re: Merkwürdikeit bei Select max(id) from..
@Marabu:
SQL-Code:
funktioniert so zwar prinzipiell, aber der Query-Plan bleibt wie gehabt
select first 1 ar from rohwerte order by ar desc
@mkinzler: Ich werdemal die Datenbank auf FB2 umstellen, das dauert bei der Menge allerdings eine Weile Ich werde dann hier weiter berichten. mfg wo |
Re: Merkwürdikeit bei Select max(id) from..
Welche 1.5x hast du denn?
Eine Migration auf die 2er ist aber unabhängig davon ratsam |
Re: Merkwürdikeit bei Select max(id) from..
Server version: WI-V6.3.4.4910 Firebird 1.5
Der Backup ist auch gleich fertig, und ich stelle dann auf 2.0 Realease um. An der Stelle frag ich mich nur noch wenn das besser/richtig funktioniert welche Zugriffskomponeten ich dann in Delphi nehmen soll, da ich den FB1.5 ja wegen der (noch vorhandenen) Kombapilität zu dem Interbase-Kombos von Delphi ausgewählt hatte.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 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 by Thomas Breitkreuz