-
Nun ja, das "exists" ist schon erforderlich, wenn der Key in Datei1 mal nicht vorhanden ist.
Aber ansonsten ist das schon korrekt, wenn du in der Datei 2 die Felder Jahr/Monat/Tag in 3 Feldern hast, benötigst du auch 3 Subselects.
Dies kannst du aber auch in 1 Befehl machen:
update myfile set
F1 = (Select ...)
,F2 = (select ...)
:
where ...
Ab V5R4 gilt wohl auch fogende Syntax:
Update myfile set
(F1, F2, ...) =
(select X1, X2, X3 from ... where ...)
where ...
-
Ohne exists geht es nicht, Null Fehler
Die V5R4 Syntax war mir auch grade wieder eingefallen
Nur läuft das bei 490.000 zu ändernden Sätzen bei 2 Mio in der Datei2 (es sind 4 Key Felder) > 3 Stunden
da ist RPG schneller 
Danke
Robi
-
Da würde ich mir mal ansehen, ob es für die Keyfelder auch Indexe ohne Select/Omit gibt bzw. die Key-Definitionen identisch sind !.
3 Stunden ist definitiv zu lang.
-
Gibt es .
die 'üblichen' Beschleuniger hab ich alle durch.
Daher die Frage nach was anderem ...
Danke
Robi
-
sind das sql-tabellen?
wenn nein, glaub ich sofort, dass es mit rpg schneller ist, da in dem fall die alte classic quere engine verwendet wird.
werden von sql auch die indices wirklich verwendet? entweder mittelds debug oder visual explain (im iseries navigator) nachschauen, was sql da wirklich macht bzw. wo da der flaschenhals ist.
-
Ich könnte da noch mein SQLCPY anbieten.
Dieses bietet auch Update-Funktionen.
-
 Zitat von andreaspr@aon.at
werden von sql auch die indices wirklich verwendet? entweder mittelds debug oder visual explain (im iseries navigator) nachschauen, was sql da wirklich macht bzw. wo da der flaschenhals ist.
Danke, das läuft bei mir unter den 'üblichen' Beschleunigern
Das ist alles im grünen Bereich
Und da das RPG pgm mittlereile auch schon durch ist ...
Danke sehr
Robi
-
Werfe mal Cobol in die Runde
Gruß AS400.lehrling
-
nur der neugier halber, sind das sql-tabellen gewesen?
-
nein, ganz 'normale' DDS PF und LF
-
ok danke, dann ist eh alles klar.
wenns sql-tabellen wären würde es nämlich auch schneller laufen.
-
Dem kann ich nicht zustimmen.
Mit PF's und LF's läuft es fast immer genauso schnell wie mit SQL-Tabellen.
Wichtig sind einzig und allein vorhandene Indexe und ob sie identische Definitionen haben.
Identisch heißt hier wirklich identisch. Packed und Zoned ist dem RPG nämlich egal, der schiebt dann Umwandlungen ein, SQL aber nicht.
Manchmal ist es hilfreich, den Key auf der linken Seite per cast anzupassen, also
decimal(a.Key, n, y) = b.key
oder
zoned(a.key, n, y) = b.key
Das funktioniert auch mit ungleich langen Zeichenfeldern:
cast(a.key as char(nn)) = b.key
Und zu guter letzt:
LF's mit Select/Omit werden komplett ignoriert!
In früheren Releases führte allein die Existenz einer solchen LF zur Verwendung der CQE.
Similar Threads
-
By mk in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 13-07-12, 08:53
-
By steven_r in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 25-09-06, 08:22
-
By daniel.ludwig in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 21-07-06, 12:41
-
By wuwu in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-07-06, 15:31
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks