Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Indexfrage (https://www.delphipraxis.net/131002-indexfrage.html)

hoika 17. Mär 2009 11:24

Datenbank: FB • Version: 1.5 • Zugriff über: egal

Indexfrage
 
Hallo,

ich habe hier eine Tabelle log__op

id integer
tableid integer
userid integer
changedate date
changetime time

asc index_1 auf tableid/userid
desc index_2 auf changedate/changetime

Die folgende Abfrage benutzt index2 und entsprechend dauert lange,
weil tableid nicht geprüft wird.

SQL-Code:
select first 1 * from log__op
where tableid=XXX
order by changedate desc, changetime desc
Wie bekomme ich das tableid mit in den index ein ?

ein desc index auf changedate/changetime/tableid oder
desc index auf tableid/changedate/changetime/ wird nicht benutzt.

Eine SP zu benutzen, wäre eine Lösung, will ich aber vermeiden.
SubQuery ist auch langsam.


Heiko

nahpets 17. Mär 2009 11:33

Re: Indexfrage
 
Hallo,

'nen Index nur auf die TableID?

hoika 17. Mär 2009 11:39

Re: Indexfrage
 
Hallo,

nö, nützt nix.
das order by desc bringt ihn immer auf den desc index.


Update:
jetzt geht es plötzlich schnell (vorher 600msec, jetzt 20 msec),
selber query plan ? wunder ...


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 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