DataDictionary mit DBF-NTX und SQL

Advantage Database Server

Moderator: Moderatoren

Antworten
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

DataDictionary mit DBF-NTX und SQL

Beitrag 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?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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;
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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>]
Gruß
Hubert
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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
Viele Grüße
Wolfgang
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DataDictionary mit DBF-NTX und SQL

Beitrag von Manfred »

Hi Marcus,
wie meinst Du das? Ich habe schon konvertiert mit dem ARC....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag von Marcus Herz »

Oh, hab ich da was übersehen?
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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 !!!
Zuletzt geändert von Marcus Herz am Fr, 19. Mai 2023 13:37, insgesamt 1-mal geändert.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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 .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: DataDictionary mit DBF-NTX und SQL

Beitrag 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.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Antworten