ADS und CDX Indexe

Advantage Database Server

Moderator: Moderatoren

Antworten
J.Renseler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Do, 15. Nov 2007 11:40
Wohnort: Krefeld
Kontaktdaten:

ADS und CDX Indexe

Beitrag von J.Renseler »

Hallo,

für eine Kundenlösung müssen wir aus C# heraus auf eine Clipperdatenbank mit CDX Indexen (FOXCDX) zugreifen.

Das ganze klappt mit dem ADS Server auch wunderbar, Indexe werden sauber gepflegt. Ein Problem haben wir allerdings bei der Benutzung der Indexe um Select Statements zu beschleunigen. Laut Dokumentation muss die Bedingung im "ORDER BY" genau dem Indexausdruck entsprechen. Leiter wird bei uns (zumindest nicht spürbar) der Index benutzt.

Hier mal unser Code:
Index:

Code: Alles auswählen

INDEX ON  BONNUMMER TAG TEST TO (cFile + cCdx)
Das Feld "BONNUMMER" ist ein 8 Stelliges Numerisches Feld

C# Code

Code: Alles auswählen

"SELECT  * FROM kasjourn ORDERD BY BONNUMMER";
Jemand eine Idee wieso der Index nicht benutzt wird?

Dann noch eine weitere Frage: Wir haben auch jede Menge Indexe die XBase Funktionen enthalten
z.B.

Code: Alles auswählen

INDEX ON Transform( BONNUMMER, "99999999") TAG TEST TO (cFile + cCdx)
Gibt es eine Möglichkeit auch diese Indexe zu benutzen?

Danke schon mal und Gruß,
Jannik
Kassensysteme für den Einzelhande http://ab-software.de
Mitglied der XUG-Cologne http://www.xug-cologne.de
hschmidt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 164
Registriert: Mo, 09. Jan 2006 17:06
Wohnort: Paderborn
Hat sich bedankt: 2 Mal
Kontaktdaten:

Re: ADS und CDX Indexe

Beitrag von hschmidt »

Hallo Jannik,

wenn Du die betreffende Abfrage im ARC32 ausführst, kannst Du Dir dazu den 'Execution Plan' anzeigen lassen. Dort siehst Du, ob der Index benutzt wird oder nicht.

Indexe mit xbase-Funktionen werden meines Wissens nach nicht zur Optimierung von SQL-Abfragen verwendet. Ich glaube, SQL hat sogar schon Schwierigkeiten mit zusammengesetzten Indexausdrücken (Name + Vorname.....).

Schöne Grüsse

Hans
Antworten