Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Helios
Lazarusforum e. V.
Beiträge: 93
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 2.2.0 Windows 10 64Bit / Lazarus 2.0.12 Debian 11 „Bullseye" 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von Helios »

Hallo Forengemeinde,
auf der Suche nach einem (Python Pandas) Dataframe Äquivalent in Free Pascal/Lazarus bin ich bei der Verarbeitung von CSV Dateien auf das interessante Projekt ZMSQL gestoßen.
https://sourceforge.net/projects/lazaru ... les/zmsql/
Hier hat man ja die Möglichkeit CSV Tabellen, In-Memory mit (jan)SQL abzufragen (super Feature wie ich finde)
Das entsprechende Demo Programm unter
{ZMSQL Inst Dir}\demo\project1
ließ sich ohne Probleme compilieren und installieren. Bei der Arbeit mit etwas größeren Tabellen
(die Test Datendatei unter {ZMSQL Inst Dir}\demo\data\rqrmts.csv habe ich per Copy+Paste der vorhandenen Zeilen auf ca. 100.000 erweitert) geht mein System mit 32GB RAM in die Knie.
Über den Daumen gepeilt führen 1MB CSV Datei Größe zu etwa 1GB Ram Nutzung?!? Kann das sein (Faktor 1000!)?
Kennt ihr das Verhalten? Ist das evtl. ein Bug?
Danke für jeden Hinweis.
Gruß
Helios

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5196
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von af0815 »

Die erste Frage ist, was für ein Target kompiliert dein Programm. Bei 32 Bit Windows ist je nach Konfiguration bei 2-3 GB Schluß.

Bei so In-Memory muss man sich mal ansehen, wie der Speicherverbrauch steigt. Es kann auch an Indexen liegen, die für die besser Abfrage gebildet werden könnten. Die duplizieren natürlich den Speicherverbrauch - ist auf einem SQL-Server ja auch so.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4323
Registriert: Fr 8. Apr 2011, 09:01

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von wp_xyz »

Hast du ein 32-Bit-Projekt erzeugt? Wenn ja, wäre das erklärbar, wobei ich da aber bei einer 1 MB-Datei auch meine Zweifel hätte. Ansonsten kompiliere für 64-Bit. Falls dann der Speicher immer noch reicht, liegt ein massives Speicherleck in ZMSQL (oder deinem Projekt) vor.

Wenn möglich poste dein Test-Projekt (nur die .pas, .lfm, .lpi, .lpr, und .csv-Dateien, zur einem zip geschnürt).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5196
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von af0815 »

wp_xyz hat geschrieben:
Sa 2. Jul 2022, 13:27
Wenn möglich poste dein Test-Projekt (nur die .pas, .lfm, .lpi, .lpr, und .csv-Dateien, zur einem zip geschnürt).
An und für sich hat Helios im ersten Post beschrieben, wie er zum Testprojekt gekommen ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Helios
Lazarusforum e. V.
Beiträge: 93
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 2.2.0 Windows 10 64Bit / Lazarus 2.0.12 Debian 11 „Bullseye" 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von Helios »

Hallo wp_xyz und af0815,
Danke für eure Rückmeldungen.
Ich habe tatsächlich nur das Projekt1 unter
https://sourceforge.net/projects/lazaru ... les/zmsql/
genommen und auf meiner Win10 64Bit Maschine kompiliert.
Der Taskmanager sagt auch, dass die erzeugte Exe ein 64Bit Programm ist.
Aber eine vertausendfachung der "Netto" Daten aus der CSV Datei, die ich im RAM halten muss,
das kommt mir sehr komisch vor und grenzt auch die Nutzungsmöglichkeiten der ZMSQL Library stark ein.
Ich kann mir nicht vorstellen, das das so gedacht und umgesetzt ist.
Gruß
Helios

Nachtrag: ZMSQL soll, wenn ich das richtig vestehe, ohne Indizes auskommen, da In-Memory Konzept.
Oder habe ich das falsch verstanden? Somit sollte eigentlich kein Index Speicherplatz notwendig sein.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5196
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von af0815 »

Helios hat geschrieben:
Sa 2. Jul 2022, 14:29
Nachtrag: ZMSQL soll, wenn ich das richtig vestehe, ohne Indizes auskommen, da In-Memory Konzept.
Oder habe ich das falsch verstanden? Somit sollte eigentlich kein Index Speicherplatz notwendig sein.
Soweit ich das sehe speichert ZMSQl das ganze in sdf-Datasets (und die verwenden TStringlists) und verwendet diese Dataset. Das Jan-SQL wird in die Befehle des sdf-Datasets umgesetzt.

Wie hast du die Demodaten erweitert ? Das sind 4486 Zeilen und die sinnvoll zu duplizieren ist mir zuviel Stress.

Besser wäre ein Demodatenerzeuger, damit könnte man das beliebig skalieren und mal sehen, wie der Speicherverlauf ist. Vor allen für was brauchst du das alles im Speicher ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Helios
Lazarusforum e. V.
Beiträge: 93
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 2.2.0 Windows 10 64Bit / Lazarus 2.0.12 Debian 11 „Bullseye" 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von Helios »

Ich brauche bis zur Zeilengrenze von Excel bzw. LibreOffice Calc die Zeilen im Speicher. Das ist etwas über eine Million. Die möchte ich gern Client seitig mit Filter etc. bearbeiten, damit nicht bei jeder kleinen Filteränderung wieder die Hauptdatenbank abgefragt werden muss. Ich erwarte da bei einer In-Memory Lösung schnellere Antwortzeiten. Unter Python ist das recht flott und ich glaube immer noch, dass das mit Pascal schneller und auch in einer schöneren GUI zu packen geht.
Bzgl. Testdaten, einfach mit Strg+A alles kopieren und mehrfach hintereinander in die Datei reinkopieren. :-) Ob da nun die erste Spaltendefinitionszeile mehrmals mitkopiert wird ist für den Test ja erstmal wurscht.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5196
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von af0815 »

Helios hat geschrieben:
Sa 2. Jul 2022, 21:41
Ich brauche bis zur Zeilengrenze von Excel bzw. LibreOffice Calc die Zeilen im Speicher. Das ist etwas über eine Million. Die möchte ich gern Client seitig mit Filter etc. bearbeiten, damit nicht bei jeder kleinen Filteränderung wieder die Hauptdatenbank abgefragt werden muss.
Für solche Sachen sind SQl-Datenbanksysteme gebaut. Man muss sich nur die Indizes vorher überlegen. Bei einer SQL DB wird die Menge am Server vorbereitet und nur immer das geholt (fetch) was die GUI benötigt, hast du blöderweise eine Million Zeilen, werden aber nur gerade 10 geholt, wenn 10 gezeigt werden. Die geholten Zeilen werden dann lokal gepuffert. Deswegen setzt man auf Serverdatenbanken mit gut designten Abfragen, weil niemand in wirklichkeit soviele Daten lokal benötigt. Was fängt ein Benutzerinterface damit an. Mehr als 10 oder 20 Zeilen kann keiner so wirklich überblicken. Und dem User statt einem guten Interface eine Liste zum durchrollen zu geben, ist laut gängiger Programmiermeinung, nicht sinnvoll.

Falls es sich um (Vor-) Verarbeitung von Datenmengen handeln soll, so sind die auch auf den verschiedenen Serversystemen meist besser abzubilden. Die meisten großen Systeme stellen entsprechende Mathematik und Verarbeitungsmöglichkeiten direkt am Server zur Verfügung.

Wenn wer jetzt sagt, er braucht Daten bis zur Zeilengrenze von Excel oder LibrOffice, so ist meiner Erfahrung nach schon was schiefgelaufen im Design oder der EDV. Und ich habe große Projekte im Bereich Betriebsdatenerfassung und Maschinendatenerfassung in den letzten 30 Jahren gemacht. Deswegen kommt mir das ganze recht komisch vom Design und Wahl der Komponenten vor.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Helios
Lazarusforum e. V.
Beiträge: 93
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 2.2.0 Windows 10 64Bit / Lazarus 2.0.12 Debian 11 „Bullseye" 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von Helios »

Hallo af0815,
Danke für Deine Rückmeldung. Was Du sagst ist alles richtig.
Bitte geh mal davon aus, dass Indizes, Normalisierung etc. alles richtig (oder angehend optimal) auf dem Server umgesetzt ist. Das Problem ist der Anwendungsfall und den muss man sich konkret so vorstellen:
Du hast einen oder mehrere Bauteile und diese haben Mess- und Diagnosedaten in einer Anzahl von jeweils ca. 100.000 Messwerten (bei 10 Bauteilen lande ich da ganz schnell bei einer Mio). Dort musst Du Dich erstmal vom Groben zum Feinen (wie ein Arzt bei einer Differentialdiagnose) in mehreren Iterationsschleifen durcharbeiten, bis am Ende so. ca. 100 Daten, die für das Analyseergebnis wichtig sind, gefunden hast. Es steht somit nicht am Anfang(!!!) fest, welche Daten Du genau brauchst, das hängt immer vom Problemfall ab und bei der Analyse gibt es immer wieder Erkenntnisse, die Dich dazu zwingen Dir einen anderen Subset der ersten Datenabfrage anzuschauen. Die "Grundabfrage" kann je nach Serverlast zwischen einigen Sekunden (i.d.R. ca. 10-30) oder mehreren Minuten liegen. Wenn ich meine Filter anpasse und erneut gegen den Server die Abfrage starte habe ich i.d.R. immer noch Antwortzeiten die in der gleichen Größenordnung sind (selbst ein guter Datenbank Optimizer hat da Probleme, da der Filter immer wieder anders gesetzt sein kann). Hier möchte ich mit meiner In-Memory Verarbeitung möglichst runter auf wenige Sekunden (es sind immer mehrere Iterationen (2-5) für eine Analyse notwendig, und das ist immer teure Arbeitszeit). Das das technisch möglich ist, zeigt die Verarbeitungsgeschwindigkeit mit Python Pandas Dataframes oder auch die Anzeige mit Pandastable. Da möchte ich gerne mit Pascal hin, da das für mich (auch) die Pforte in Richtung Big Data Verarbeitung (mit Pascal) ist.
Ich habe auch schon mit dem Gedanken gespielt die Datensätze der Abfrage selbst nochmal in eine Datenbank zu schreiben und auf jede Spalte einen Index zu legen und hier komme ich mit dem i.O. auf ca 1 min, das ist mir immer noch zu lange.
Vielleicht gibt es ja schon eine Lösung für soetwas hier im Lazarus/Free Pascal Umfeld, nur ich habe es noch nicht gefunden. Das MZSQL habe ich ja auch erst jetzt entdeckt obwohl ich das Problem schon länger "be-ackere".
Aber nochmal konkret zum Thema/Problem: Ist der RAM Verbrauch bei der Verwendung von MZSQL erklärbar oder handelt es sich nicht vielleicht doch um einen Bug? Da fehlt mir einfach die Erfahrung.
Danke nochmal für jeden weiteren Hinweis und Gruß
Helios

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5196
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von af0815 »

MZSQL setzt das ganze in SDF- Tabellen um. Es ist eine intelligent Zwischenschicht zwischen SDF und JAN-SQL. Es ist sicher nicht unbedingt auf den Anwendungsfall von dir optimiert.

Hast du es schon mit Collections versucht. Für Spezialfälle bin ich immer wieder auf die oder spezialisierten Listen ausgewichen. Das war dann wenn ich mit TSQL auf einem MS-SQL Server nicht weitergekommen bin, weil es zu speziell war. Ist aber sehr selten gewesen.

Tabellen mit zig Mio. Datensätze schrecken mich nicht. Das war mein tägliches Brot. Mit TSQL, temporären Tabellen und Cursor kann man verdammt viel anfangen und muss es auch bei entsprechenden Datenmengen. Da kann man mit den Optimierungstools (die bei MS kostenlos sind) viel anfangen. Man muss sich mit einer jeden Abfrage ganz genau beschäftigen, dann bekommt man auch für so komplexe Aufgabenstellungen entsprechend kurze Antwortzeiten. Wenn die Query auf den Server länger als 15 sec. dauert, dann solltest du dir das ansehen und optimieren.

Ist es jetzt wichtig, das ganze am Client im Speicher zu haben und muss es eine DB sein ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4323
Registriert: Fr 8. Apr 2011, 09:01

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von wp_xyz »

Helios hat geschrieben:
So 3. Jul 2022, 10:50
Ist der RAM Verbrauch bei der Verwendung von MZSQL erklärbar oder handelt es sich nicht vielleicht doch um einen Bug? Da fehlt mir einfach die Erfahrung.
Normalerweise hätte ich gesagt: das sagt, wenn Lazarus und der Debugger laufen, gar nicht aus. Aber nun habe ich das Demo-Programm selbst durchlaufen lassen und vorher durch mehrfaches Aneinanderhängen des Original-Datendatei-Inhalts (*) diese auf über 50.000 Datensätze erweitert (4.36 MB Dateigröße). ZMSQL lädt diese Datei in der 64-Bit-Exe zwar, aber die Speicherverwendung im Taskmanager geht tatsächlich um mehr als 10 GB hoch, innerhalb/außerhalb der IDE, mit/ohne Debuginformationen - das spielt keine Rolle. Wenn ich stattdessen dieselbe CSV-Datei in ein TCSVDataset lade ist der Speicherverbrauch aber nur ein paar Zehntel GB, wobei die großen Spaltenbreiten im DBGrid anzeigen, dass die Felder sehr groß dimensioniert werden, so dass man da auch noch etwas optimieren könnte.

Fazit: ZMSQL scheint da tatsächlich ein Problem zu haben. Beide Datasets stammen von TBufDataset ab. Man müsste sich genauer die Implementierung von ZMSQL ansehen... Oder du könntest im internationalen Forum einmal den Autor (Forum-User: tatamata) kontaktieren, er macht zwar kaum mehr etwas an der Komponente, aber vielleicht motiviert ihn die Tatsache, dass jemand seine Komponente benutzt, dazu, sich des Problems anzunehmen.

(*)
Entschuldige, wenn ich bzgl. Demoprojekt etwas pignelig bin, aber normalerweise ist die Problembeschreibung durch die User sehr dürftig und ungenau, so dass mir immer ein Demoprojekt lieber ist als Anleitungen, wie dieses zu erzeugen ist. Und auch hier fehlte die Datendatei, und es war mir vor deinem späteren Post dazu nicht klar, wie genau du diese erzeugt hast (ich dachte, die erste Spalte muss eindeutige Werte enthalten, so dass ich versucht habe, die Datei in Excel/Calc zu laden und per Formel zu erweitern, aber diese haben sowieso ihre Probleme mit csv-Dateien (Excel) bzw. speichern diese wie der Name sagt, mit Komma als Feldtrennzeichen (Calc), und mich groß dort zu engagieren hatte ich keine Lust).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5196
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von af0815 »

Demodaten erzeugen: Achtung originaldatei wird dabei überschrieben.
Einfach einen Button mit dem Namen BuDemoDataCR erzeugen und den Code einfügen.

Code: Alles auswählen

procedure TForm1.BuDemoDataCRClick(Sender: TObject);
var
  db, line, dl: String;
  TL:TStringList;
  cnt: integer;
begin
  BuDemoDataCR.Enabled:= false;
  try
    db := ZMQueryDataset1.ZMConnection.DatabasePath + ZMQueryDataset1.TableName + '.csv';
    ShowMessage('Data is going to be written to: '+ db);
    //RQRMTS_ID;ORDR;PRDCT;CMPNT;CMPNT_DSCR;CMPNT_RQRD;CMPNT_TOT_RQRD;CMPNT_RQRD_UNT;CMPNT_AVLB;CMPNT_TOT_AVLB;CMPNT_TOT_AVLB_CURR;CMPNT_TOT_AVLB_CURR_QINS;CMPNT_TOT_AVLB_CURR_QINS_ORDRD;CMPNT_SHRTG;CMPNT_TOT_SHRTG;STRG_LOC
    //940138;100177492;895104;608631;Component 608631;4.89;;KG;;125.90;125.90;125.90;;;;
    //940139;100177492;895104;610262;Component 610262;734.40;;KG;;25591.54;3651.54;25591.54;;;;
    //0     ;0        ;0     ;000000;component 000000;0     ;;KG;00000;125.90;125.90;125.90;;;;
    dl:= ';';
    TL:= TStringList.Create;
    try
      TL.Clear;
      line:= 'RQRMTS_ID;ORDR;PRDCT;CMPNT;CMPNT_DSCR;CMPNT_RQRD;CMPNT_TOT_RQRD;CMPNT_RQRD_UNT;CMPNT_AVLB;CMPNT_TOT_AVLB;CMPNT_TOT_AVLB_CURR;CMPNT_TOT_AVLB_CURR_QINS;CMPNT_TOT_AVLB_CURR_QINS_ORDRD;CMPNT_SHRTG;CMPNT_TOT_SHRTG;STRG_LOC';
      TL.Add(line);
      for cnt:= 1 to 100000 do begin
        line:= '';
        line:= line + IntToStr(cnt) + dl;                      //RQRMTS_ID     940138
        line:= line + IntToStr(cnt) + dl;                      //ORDR          100177492
        line:= line + IntToStr(cnt) + dl;                      //PRDCT         895104
        line:= line + IntToHex(cnt,8) + dl;                    //CMPNT         608631
        line:= line + 'component '+IntToHex(cnt,8) + dl;       //CMPNT_DSCR    Component 608631
        line:= line + '734.40' + dl;                           //CMPNT_RQRD    734.40
        line:= line + '' + dl;                                 //CMPNT_TOT_RQRD empty
        line:= line + 'KG' + dl;                               //CMPNT_RQRD_UNT KG
        line:= line + ''   + dl;                               //CMPNT_AVLB     empty
        line:= line + '125.90' + dl;                           //CMPNT_TOT_AVLB 125.90
        line:= line + '125.90' + dl;                           //CMPNT_TOT_AVLB_CURR 125.90
        line:= line + '125.90' + dl;                           //CMPNT_TOT_AVLB_CURR_QINS 125.90
        line:= line + '' + dl;                                 //CMPNT_TOT_AVLB_CURR_QINS_ORDRD empty
        line:= line + '' + dl;                                 //CMPNT_SHRTG       empty
        line:= line + '' + dl;                                 //CMPNT_TOT_SHRTG   empty
        line:= line + '';                                      //STRG_LOC         empty
        TL.Add(line);
      end;
      TL.SaveToFile(db);
    finally
      TL.free;
    end;

  finally
    BuDemoDataCR.Enabled:= true;
  end;
end;

Mit dem Beispiel füllt er mir mal 12GB an. Bei 8MB Demodaten.
Zuletzt geändert von af0815 am So 3. Jul 2022, 14:24, insgesamt 2-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5196
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von af0815 »

Editorproblem
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Helios
Lazarusforum e. V.
Beiträge: 93
Registriert: Mi 29. Jun 2011, 22:36
OS, Lazarus, FPC: Lazarus 2.2.0 Windows 10 64Bit / Lazarus 2.0.12 Debian 11 „Bullseye" 64Bit
CPU-Target: 64Bit
Wohnort: Leonberg

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von Helios »

Hallo af0815 und wp_xyz,
ich Danke euch für die Bestätigung und Dir af0815 für den "Testdatengenerator" Zusatz.
Ich spreche das Thema im internationalen Forum mal an.
Vielleicht ist das ja nur eine Kleinigkeit und die ZMSQL Komponente lässt sich da deutlich verbessern.
Schönen Sonntag noch!
Gruß
Helios

wp_xyz
Beiträge: 4323
Registriert: Fr 8. Apr 2011, 09:01

Re: Erfahrungen mit ZMSQL bei größeren CSV Tabellen

Beitrag von wp_xyz »

Helios hat geschrieben:
So 3. Jul 2022, 15:02
Ich spreche das Thema im internationalen Forum mal an.
Evtl musst du den Autor (tatamata) auch direkt anschreiben, denn er ist im Forum kaum zu sehen.

Antworten