[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    May 2002
    Beiträge
    60
    Guten Morgen,

    wie ich sehe, habt ihr wohl das ganze Wochenende am PC gesessen und fleißig diskutiert. Leider ist meine Frage damit nicht beantwortet. Fuerchau hat da vollkommen Recht, beim Befehl "TRUNCATE TABLE" kann die Datei ruhig geöffnet sein, ich benötige keine Exklusivrechte am Objekt, um diese zu löschen (was bei CLRPFM der Fall ist).

    Weiterhin wird beim TRUNCATE TABLE kein Journaleintrag erstellt, und genau deshalb würde ich gerne diesen Befehl (oder einen alternativen) verwenden.

    Gruß
    proggi
    Gruß Proggi

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    beim delete ohne where Klausel kann die Datei ebenfalls geöffnet sein, wo sit das Problem? eventuelle Journal Einträge sind jedenfalls keines.
    Ganz am Rande ist TRUNCATE meines Wissens auch nicht Bestandteil von ANSI SQL und damit würde ich es auch nicht für andere Datenbanken empfehlen.

    mfg

    Dieter Bender

    Zitat Zitat von Proggi
    Guten Morgen,

    wie ich sehe, habt ihr wohl das ganze Wochenende am PC gesessen und fleißig diskutiert. Leider ist meine Frage damit nicht beantwortet. Fuerchau hat da vollkommen Recht, beim Befehl "TRUNCATE TABLE" kann die Datei ruhig geöffnet sein, ich benötige keine Exklusivrechte am Objekt, um diese zu löschen (was bei CLRPFM der Fall ist).

    Weiterhin wird beim TRUNCATE TABLE kein Journaleintrag erstellt, und genau deshalb würde ich gerne diesen Befehl (oder einen alternativen) verwenden.

    Gruß
    proggi
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wenn der TRUNCATE keinen Journal-Eintrag erstellt und somit ein Rollback unmöglich ist, stellt dieser Befehl eine unglaubliche Gefahr dar !
    Da finde ich die IBM-Lösung (ab V5R3) insofern besser, wenn sie denn tatsächlich funktioniert, also incl. Rollback.

    Und insofern gebe ich Dieter Recht: Was nicht ANSI-SQL ist, sollte man aus Kompatibilitätsgründen tunlichst unterlassen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    @Baldur: das mit dem Journal ist eine völlig andere Diskussion; für Transaktions Unterstützung gibt es zwei Möglichkeiten: Journal zum rückwärts Recovery beim Rollback, oder write ahead buffer und vorwärts, beim commit.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    Wenn der TRUNCATE keinen Journal-Eintrag erstellt und somit ein Rollback unmöglich ist, stellt dieser Befehl eine unglaubliche Gefahr dar !
    Da finde ich die IBM-Lösung (ab V5R3) insofern besser, wenn sie denn tatsächlich funktioniert, also incl. Rollback.

    Und insofern gebe ich Dieter Recht: Was nicht ANSI-SQL ist, sollte man aus Kompatibilitätsgründen tunlichst unterlassen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    May 2002
    Beiträge
    60
    @Bender

    Das Problem ist, dass ich kein V5R3 habe. Aber das kann wiederum nicht euer Problem sein, es hätte aber ja sein können, dass ihr eine andere Lösung parat hättet, die auch unter V5R2 läuft.

    Grundsätzlich ist das Problem folgendes, dass es um verdichtete Statistikdateien geht, die ich am Wochenende neu aufbauen muss. Da diese Dateien aber immer von diversen Programmen geöffnet sind, habe ich hier Null Chance. Dem TRUNCATE TABLE macht das nicht, wenn die geöffnet sind, der haut die Sätze weg. Und genau das möchte ich. Ein einfaches DELETE dauert da zu lange, da alleine die eine Datei über 4 Millionen Datensätze hat die dann noch alle protokolliert werden.

    Gruß
    proggi


    Gruß
    Proggi
    Gruß Proggi

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da hilft halt nichts, als auch diese Programme mal kurzfristig zu beenden.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    die erste Frage, die ich mir stelle ist, ob man die Programme nicht einfach rausfeuern kann, schließlich können die bei einem löschen der Daten, wie auch immer technisch durchgeführt, nix vernünftiges mehr anzeigen.
    Die zweite Frage, die ich mir stelle ist, ob ein clear, wie auch immer bewerkstelligt und 4 Millionen inserts signifikant billiger ist als 4 Millionen updates.
    Die dritte Frage, die ich mir stelle ist, ob man (redundante) Statistikdaten journalisieren sollte und ob das der wirkliche Engpass ist.
    Die vierte Frage, die ein Kollege hier immer gestellt hat ist, konnte man das nicht anders machen!
    Bei genügend CPU Ressourcen, könnte man natürlich auch mit parallelen Jobs speed gewinnen.

    mfg

    Dieter Bender


    Zitat Zitat von Proggi
    @Bender

    Das Problem ist, dass ich kein V5R3 habe. Aber das kann wiederum nicht euer Problem sein, es hätte aber ja sein können, dass ihr eine andere Lösung parat hättet, die auch unter V5R2 läuft.

    Grundsätzlich ist das Problem folgendes, dass es um verdichtete Statistikdateien geht, die ich am Wochenende neu aufbauen muss. Da diese Dateien aber immer von diversen Programmen geöffnet sind, habe ich hier Null Chance. Dem TRUNCATE TABLE macht das nicht, wenn die geöffnet sind, der haut die Sätze weg. Und genau das möchte ich. Ein einfaches DELETE dauert da zu lange, da alleine die eine Datei über 4 Millionen Datensätze hat die dann noch alle protokolliert werden.

    Gruß
    proggi


    Gruß
    Proggi
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    May 2002
    Beiträge
    60
    @Bender

    zu Frage 1: Sicherlich ist das möglich, aber wieso sollte man nicht versuchen, mit möglichst geringen Aufwand viel zu erreichen (das habe ich mal irgendwo gelernt) und das hätte ich mit TRUNCATE TABLE

    zu Frage 2: Da wir eine Standardsoftware gekauft haben und diese ein Update von bereits eingerechneten Umsätzen nicht zulässt, stellt sich die Frage nicht. Alternativ müsste ich ein eigenes Programm erstellen, nur dann verliere ich die Wartung!

    zu Frage 3: siehe unter 2, sollten Differenzen auftreten beruft sich der Softwarelieferant auf die Journale um feststellen zu können, wo diese Differenzen herkommen.

    zu Frage 4: Natürlich kann man alles anders machen, keine Frage.

    Gruß
    proggi
    Gruß Proggi

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  4. SQL Statement
    By juergenkemeter in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 15-11-04, 12:15
  5. SQL Statement
    By Pia in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-04-02, 15:24

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •