Id über auto_increment ...

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Id über auto_increment ...

Beitrag von ramses »

Hallo Werner
sondern Du musst doch auch mit der Pqlib unterscheiden, ob Du ein Statement ausführst, oder ein Query.
Nein.
Beim Arbeiten mit der PQlib gibt es eine Funktion die der executeQuery() entspricht nicht. PQexec() gibt ein Handle auf das Resultat zurück. Die Resultate, Datensätze und Datenfelder usw. müssen dann mit weiternen Funkionsaufrufen abgefragt werden. Der Server hält das Resulat(Handle) verfügbar bis dieses per Befehl gelöscht/geschlossen wird.
Unter gleichen Voraussetzungen?
Ja. Absolut. Gleicher Rechner gleicher Server. 10 GB Netzwerk. Die Ursprungs DBF war bei beiden Versuchen auf einer Ram-Disk. Der Server war ein Versuchsserver also ohne anderere Aufgaben. Erster Versuch Upsize Tool. Zweiter Versuch in Xbase geschriebenes Programm das die Datenbank erstellt und den Inhalt der DBF-Datei über die DBFDBE gelesen und die DatenSätze über die PQlib an den Server gesendet hat.
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Id über auto_increment ...

Beitrag von AUGE_OHR »

ramses hat geschrieben: Mo, 24. Jun 2019 23:14 Ach ja, der Transfer der oben genannten Datenbank benötigte mit nativem Postgresql in eine native Datenbank unter 5 Minuten .......
es würde sogar noch schneller gehen wenn man eine CSV hätte mit dem COPY Befehl von PostgreSQL

Code: Alles auswählen

  COPY nodes FROM 'D:\ALASKA\PG\DATA.CSV' DELIMITER ','
---

Frage : was ist der Vorteil von "auto_increment" vs. Type "serial" :?:
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Id über auto_increment ...

Beitrag von ramses »

Hallo Jimmy

unter Postgres reicht es aus für ein AUTO_INCREMENT Feld den Datentyp serial anzugeben.
es würde sogar noch schneller gehen wenn man eine CSV hätte mit dem COPY Befehl von PostgreSQL
Ja schon.

Momentan suche ich mein Konzept (Natives Postgres oder mit der PGDBE) um umfangreiche Datenbestände von DBF nach Postgres zu bringen.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Id über auto_increment ...

Beitrag von Werner_Bayern »

Servus Carlo,

danke für die Klarstellung. Ich lese da trotzdem die ganze Zeit über raus, dass es mit der PQlib auch nicht einfacher ist, als in Xbase++. Ich spreche hier immer von den 2 genannten insert-Beispielen. Ist ja der gleiche Aufwand, man muss halt bei returning ein Query machen.

Deine genannten Performance-Unterschiede sind schon beeindruckend. Beachte aber, dass Du nur über das Upsize-Tool anschließend mit der ISAM-Emulation arbeiten kannst. Da werden die ganzen Trigger, Indexe und zusätzlichen Felder erzeugt. Ansonsten musst Dir was überlegen, wie Du schnell und trotzdem kompatibel bist. Upsize einer leeren Tabelle und anschließend über PQlib? Das müsste beides abdecken.
es grüßt

Werner

<when the music is over, turn off the lights!>
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Id über auto_increment ...

Beitrag von ramses »

Hallo Werner
Ich lese da trotzdem die ganze Zeit über raus, dass es mit der PQlib auch nicht einfacher ist, als in Xbase++.
Ja das ist sicher grundsätzlich so.
Es geht eigentlich um 4 Punkte:
1. Performance
2. Keine Abhängikeit von Alaska's Plänen und Umsetzung
3. Keine Alaska spezifischen Felder Trigger's usw. nötig
4. Nutzung aller Postgresql Möglichkeiten und einfachere Implementierung von Code der von anderen Sprachen stammt
Beachte aber, dass Du nur über das Upsize-Tool anschließend mit der ISAM-Emulation arbeiten kannst.
Genau das wäre eigentlich die Idee um den Code nicht komplett überarbeiten zu müssen.
Wegen dem Weg über das Upsize Tool und die in der Datenbank nötigen Felder und Trigger und anderen Alaska-Spezifischen Parametern sehe ich immer mehr Hindernisse auf diesem Weg weil die Datenbanken auch von anderen Apps verwendet werden sollen.

Ich warte jetzt noch das nächste Update der PGDBE ab. Angekündigt ist von Alaska eine massive Verbesserung der PGDBE.
Enthält die dann immer noch die umbenannte 8.3 Version der PQlib ist das Thema sowieso vom Tisch.
Upsize einer leeren Tabelle und anschließend über PQlib?

Das testet ich dann nach dem Update.
Valar Morghulis

Gruss Carlo
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Id über auto_increment ...

Beitrag von ramses »

Hallo Werner

ich habe jetzt mit der Version 2.00.1113 getestet.
Das Upsize ist nun tatsächlich brutal schneller geworden. Das Upsize dauert nun noch wenige Minuten.

Leider wird noch immer die PGLib 8.3 verwendet die einige Query nicht verarbeiten kann.

Ein direkter ersatz der DBFDBE bezw. ADSDBE mit der PGDBE (ISAM) ohne komplettes überarbeiten und optimieren des Codes auf die möglichkeiten von Postgres scheint mir nach den ersten Test nicht möglich. Ich habe meine Tests abgebrochen und für alle Zeiten beendet.

Vermutlich verzichte ich auch auf den weiteren Einsatz der ganzen PGDBE, was nützt eine eigentlich schöne executeQuery() Funktion die einem den Datenzugriff vereinfachen könnte die aber aufgrund der verwendeten veralteten PGLib aus 2008 nicht alle Query's korrekte verarbeiten kann. .....

Also besser nativ: Dann klappts dann auch mit den Daten.
Valar Morghulis

Gruss Carlo
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: Id über auto_increment ...

Beitrag von UliTs »

Hat das etwas mit auto_increment zu tun?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Id über auto_increment ...

Beitrag von ramses »

Hallo Uli
Hat das etwas mit auto_increment zu tun?
Nein, auto_increment oder in PG den Datentyp serial läuft nativ problemlos.
Die in Xbase enthaltene und genutze PGLib 8.3 stammt aus 2008 in den vergangen beinahe 11 Jahren gab es einfach einige Neuerungen und Verbesserungen ....
Valar Morghulis

Gruss Carlo
Antworten