Seite 1 von 1

DataDictionary mit DBF-NTX und SQL

Verfasst: Di, 16. Mai 2023 13:49
von UliTs
Ich habe ein DataDictionary, deren Tabellen aus historischen Gründen noch DBF-NTX Tabellen sind.
Es gibt Indizes über die Felder Tag und PersNr. Folgende SQL-Statements sind rasend schnell:

Code: Alles auswählen

select * from Tabelle order by Tag;
select * from Tabelle order by PersNr;
Aber das folgende Statement ist gähnend langsam:

Code: Alles auswählen

select * from Tabelle order by Tag,PersNr
Ich weiss, offiziell ist DBF-NTX nicht für SQL freigegeben. Aber gibt es einen Trick, dies schnell hinzubekommen?
-
Bei Umstellung auf DBF-CDX: würde dies das Problem lösen?

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Di, 16. Mai 2023 15:20
von Bertram Hansen
Hallo Uli,

ich gehe mal davon aus, daß die vorhanden Indexdateien NTX-Index Dateien sind.

Versuche doch bitte mal vorher mit SQL zwei Indexdateien zu erzeugen und dann die Abfrage zu machen.

Code: Alles auswählen

create index Tag ON Tabelle (Tag);
create index PersNr ON Tabelle (PersNr);
select * from Tabelle order by Tag,PersNr;

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Di, 16. Mai 2023 15:35
von Marcus Herz

Code: Alles auswählen

select * from Tabelle order by Tag,PersNr
NTX-SQL kann keinen der vorhandenen Indices verwenden, weil 2 Felder. Das heisst, die Sortierung erfolgt hier sequentiell, ohne Indexverwendung

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Di, 16. Mai 2023 17:26
von UliTs
Marcus Herz hat geschrieben: Di, 16. Mai 2023 15:35

Code: Alles auswählen

select * from Tabelle order by Tag,PersNr
NTX-SQL kann keinen der vorhandenen Indices verwenden, weil 2 Felder. Das heisst, die Sortierung erfolgt hier sequentiell, ohne Indexverwendung
Ja, so habe ich es auch festgestellt. Danke für die Bestätigung. Meinst Du mit DBF-CDX Tabellen geht es schnell? Wie kann man am geschicktesten die Tabellen konvertieren?

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Do, 18. Mai 2023 6:13
von brandelh
Uli hat geschrieben:Wie kann man am geschicktesten die Tabellen konvertieren?
wenn in beiden Fällen die DBFDBE genutzt wird, brauchst du nur neu zu indizieren, ob das dem SQL hilft weiß ich nicht.

Wenn du von DBFNTX auf FOXCDX umsetzen willst, kannst du beide DBE im Programm haben, mit VIA dann die Passende auswählen und ein copy to zum neuen Format machen.
Alaska Hilfe hat geschrieben:Syntax
COPY TO <cFilename> [FOR <cForCondition>] [VIA <cDBE>]

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Do, 18. Mai 2023 6:51
von Wolfgang Ciriack
Und bei CDX dann nicht vergessen, vor einem Reindex immer die vorhandene CDX-Datei zu löschen, ansonsten werden die neuen immer hinten angehängt und die Inexdatei wird riesig groß :D

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Do, 18. Mai 2023 14:03
von UliTs
brandelh hat geschrieben: Do, 18. Mai 2023 6:13
Uli hat geschrieben:Wie kann man am geschicktesten die Tabellen konvertieren?
wenn in beiden Fällen die DBFDBE genutzt wird, brauchst du nur neu zu indizieren, ob das dem SQL hilft weiß ich nicht.

Wenn du von DBFNTX auf FOXCDX umsetzen willst, kannst du beide DBE im Programm haben, mit VIA dann die Passende auswählen und ein copy to zum neuen Format machen.
Alaska Hilfe hat geschrieben:Syntax
COPY TO <cFilename> [FOR <cForCondition>] [VIA <cDBE>]
Nein, die DBFDBE wird in keinem Fall genutzt. Ich möchte mit Hilfe des ARC die Tabellen im Data Dictionary entsprechend umstellen.

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Fr, 19. Mai 2023 12:04
von Marcus Herz
Im ARC guibts es keine Konvertierung direkt.
Du kannst einen Export nach CSV oder ähnliches machen und dann wieder neu importieren.
Wir haben so ein XConvert, das mit XClass und AdsClass funktioniert, das könnte ich dir zur Verfügung stellen. Das kann von jedem Dateiformat in ein anderes konvertieren.

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Fr, 19. Mai 2023 12:15
von Manfred
Hi Marcus,
wie meinst Du das? Ich habe schon konvertiert mit dem ARC....

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Fr, 19. Mai 2023 13:21
von Marcus Herz
Oh, hab ich da was übersehen?

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Fr, 19. Mai 2023 13:25
von Manfred
Bertram und ich hatten vor kurzer Zeit einen Versuch gestartet. Wir haben DBF nach ADT konvertiert. Über Tools Import Data. Es wurde alles übernommen. Sogar die numerische Struktur um eine Spalte breiter gemacht für ADT wegen Vorzeichen.

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Fr, 19. Mai 2023 13:34
von Marcus Herz
ok, hatte ich nicht mehr auf dem Schirm. Bei 200 und mehr Dateien tippt man sich 'n A...

PS: es geht ja auch Widcard !!!

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Fr, 19. Mai 2023 13:35
von Manfred
wie meinst Du das? Soweit ich mich erinnern kann, hat man das gesamte Paket gewählt, was konvertiert werden soll und dann gesagt, wo es rein soll. Dann wurde es automatisch gemacht von ARC in einem Rutsch. Nebst Daten.

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: So, 21. Mai 2023 23:13
von UliTs
UliTs hat geschrieben: Di, 16. Mai 2023 13:49 ...
Aber das folgende Statement ist gähnend langsam:

Code: Alles auswählen

select * from Tabelle order by Tag,PersNr
Ich weiss, offiziell ist DBF-NTX nicht für SQL freigegeben. Aber gibt es einen Trick, dies schnell hinzubekommen?
-
Bei Umstellung auf DBF-CDX: würde dies das Problem lösen?
So, habe mit ein paar Tricks über den ARC die Tabelle nach DBF-CDX konvertieren können. Aber leider ist damit das Statement weiterhin gähnend langsam. Dann habe ich es nach ADT konvertiert und siehe da, damit ist es rasend schnell :D .

Re: DataDictionary mit DBF-NTX und SQL

Verfasst: Mo, 22. Mai 2023 7:08
von nightcrawler
in solchen Fällen würde ich einfach mal ein PACK versuchen. Entweder ist der Index total kaputt/komisch aufgebaut oder es gibt viele gelöschte Datensätze. ADT und CDX sollten nicht ganz so stark voneinander abweichen.