Einzelnen Beitrag anzeigen

gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#1

Verständnisfrage: dBase vs. SQL

  Alt 5. Mai 2006, 17:08
Datenbank: dBase • Zugriff über: ADS
Hallo DP,

ich schreibe an einem Programm, welches auf dBase-Dateien zugreifen und hier und da ein paar Datensätze manipulieren soll.
Für den Zugriff nehme ich den ADS-Local-Server. ADS-TableType hab ich auf ttAdsCDX, da es sich um Clipper-DBF's handelt und die Indices in *.cdx-Dateien speichert sind.

Ich muß feststellen, dass bestimmt Anfragen wie z.B.
SQL-Code:
SELECT * FROM objects WHERE obj_nr <'AORDER BY obj_name;

/* hierbei ist OBJ_NR ein String.
Und alle Objekte die mit einem Buchstaben beginnt haben eine besondere Eigenschaft. Ist aber egal, hat nix mit meinem Problem zu tun. */
mit ADS sehr lange dauern können.

In meinem Fall kann diese SQL-Anfrage bei Tabellen mit ca. 2 Mio. DS bis zu 2 Minuten dauern.
Der Grund ist mir klar. Es liegt am fehlenden Index. Kann/darf ich aber nicht ändern.

Das dBase-DOS-Programm, dem eigendlich die die DBF gehören, kann das gleiche Ergebnis sofort anzeigen.
Wieso?

Arbeitet dBase intern so anders, das eine 15 Jahre alte 16Bit-Anwendung eine 32Bit-Anwendung so im Regen stehen lassen kann?
Vlt. kann mir das einer erklären.

Grüße
gmc
  Mit Zitat antworten Zitat