-
Danke ihr beiden für die fixe Antwort. Dann mache ich das so. Danke und schönes Wochenende.
Gruß
Sascha
-
@Dieter
Damit erspare ich mir das dauernde Umbenennen in RPG 
Allerdings: Warum mache ich CREATE TABLE um anschließend in RPG doch wieder native zuzugreifen ? *grübel*
-
@Baldur,
da kann man doch alternativ auf das E (extern definiert) in der F Lochkarte verzichten eine EDS separat ablochen und mit
read Dateiname Datenstrukurname
die Daten schnappen, oder was sagen die RPG Hardliner dazu?
Den Scharmonz mit read Formatname, den habe ich eh nie verstanden, jaja ich weiß, MultiFormat Dateien, aber die habe ich auch nicht verstanden.
Dieter
 Zitat von Fuerchau
@Dieter
Damit erspare ich mir das dauernde Umbenennen in RPG
Allerdings: Warum mache ich CREATE TABLE um anschließend in RPG doch wieder native zuzugreifen ? *grübel*
-
RPG lehnt die Umwandlung ab, da der Name nicht eindeutig ist.
Es gibt immerhin noch DSPF's und PRTF's (multiple Formate).
Der Compiler unterscheidet da leider nicht.
-
@Baldur: wenn ich unter Dateiformat kein E für extern beschrieben, sondern ein F für Programm beschrieben abloche, dann ist dem Compiler der Formatname schnurz. DSPF und PRTF werden nicht mit SQL erstellt und damit tritt sowas hier nicht auf.
Dieter
 Zitat von Fuerchau
RPG lehnt die Umwandlung ab, da der Name nicht eindeutig ist.
Es gibt immerhin noch DSPF's und PRTF's (multiple Formate).
Der Compiler unterscheidet da leider nicht.
-
 Zitat von Fuerchau
Allerdings: Warum mache ich CREATE TABLE um anschließend in RPG doch wieder native zuzugreifen ? *grübel*
1. CREATE TABLE, um z.B. eine IDENTITY COLUM oder ROWID zu definieren, die beim Erstellen einen eindeutigen Wert generieren und zwar auf einem tieferen Level und sicherer als das eine RPG-Funktion könnte. Das Generieren dieser Werte klappt auch, wenn man mit native RPG einen gewöhnlichen WRITE absetzt.
2. Native RPG, weil ein CHAIN halt immer noch schneller ist, als das entsprechende Statement mit SQL auszuführen.
Birgitta
-
Hallo,
nicht alles was Oracle macht muss es wert sein in DB2 gekupfert zu werden. Ob diese Identity Columns halten was sie versprechen, habe ich noch nicht gesehen und das hat ja immerhin den Nachteil, dass ich nicht so ohne weiteres den Satz lesen kann, den ich gerade geschrieben habe. (Ja, ich weiß, dass es da einen Work around gibt...). Ein anderer dieser "Geheimtips", das API GENUUID jedenfalls hielt garnicht, was es versprach, funktioniert nämlich bei Multiprozessor Maschinen nur fast - und damit garnicht.
Und was die Geschwindigkeit angeht, oft gehört, aber - in erster Näherung hängt die Geschwindigkeit von der Anzahl der Zugriffe ab und da sind viele Rekord Löffel Exzess Programme eher Penner als Renner.
mfg
Dieter Bender
PS: Bei der gegenwärtigen Menge an Bugs in der Datenbank würde ich die Schlüssel Generierung nur ungern der Datenbank überlassen...
 Zitat von B.Hauser
1. CREATE TABLE, um z.B. eine IDENTITY COLUM oder ROWID zu definieren, die beim Erstellen einen eindeutigen Wert generieren und zwar auf einem tieferen Level und sicherer als das eine RPG-Funktion könnte. Das Generieren dieser Werte klappt auch, wenn man mit native RPG einen gewöhnlichen WRITE absetzt.
2. Native RPG, weil ein CHAIN halt immer noch schneller ist, als das entsprechende Statement mit SQL auszuführen.
Birgitta
-
@Dieter
Interne Dateien aber dann externe Strukturen ??
@Birgitta
Dass ein CHAIN noch schneller sein soll als ein Select, halte ich für ein Gerücht.
Was ich in RPG mit mehreren native-Befehlen machen muss, erledige ich häufig mit einem SQL.
Das mit der Performance war mal so bei V3 !
-
Hallo,
genau das!!! damit hört der Quatsch des impliziten Füllens auf etc... Ich kann genau sagen wohin ich lesen will und aus was ich füllen will - das ist um Längen lesbarer- denk mal drüber nach.
Zu den Performance Geschichten: nach meinen Erfahrungen ist record level access bezogen auf eine Einzeloperation immer noch schneller als SQL, obwohl IBM von Release zu Release seit V4 das Gegenteil behauptet, da handelt es sich wohl um Wunschdenken aber: bezogen auf reale Programme ist SQL im Schnitt schneller und ich biete folgendes an:
jedes Batchprogramm, das mehr als 30 Minuten läuft und Rekord Löffel Exzess benutzt, mache ich mit SQL schneller, wenn die Maschine genug freie Ressourcen hat, erreiche ich das Ziel nicht, ist mein Bemühen kostenlos. (Habe ich auch mal für Java im Batch schneller als RPG angeboten).
mfg
Dieter Bender
 Zitat von Fuerchau
@Dieter
Interne Dateien aber dann externe Strukturen ??
@Birgitta
Dass ein CHAIN noch schneller sein soll als ein Select, halte ich für ein Gerücht.
Was ich in RPG mit mehreren native-Befehlen machen muss, erledige ich häufig mit einem SQL.
Das mit der Performance war mal so bei V3 !
-
faaaaaaaast?
@Birgitta
Dass ein CHAIN noch schneller sein soll als ein Select, halte ich für ein Gerücht.
Was ich in RPG mit mehreren native-Befehlen machen muss, erledige ich häufig mit einem SQL.
Das mit der Performance war mal so bei V3 !
**snip**
Och... auch eine V5-Kiste kriege ich mit RPG oder SQL sehr schnell langsam ;-)
Besonders zu beachten ist der gelegentliche Unterschied, wie ein RPG-gewohnter Programmierer sich ein SQL Statement zusammenlötet und dann nicht beachtet, was der gelobte (sic) Optimizer daraus treibt. Ich kann nur eine Lehrstunde mit den Performance-Tools und dem Advisor im OopsNav5.3 empfehlen, auch wenn sonst im V5R3 einige Kataströfchen enthalten sind.
Übrigens schliesse ich mich hier mal Dieters Performance-Aussage an, das kann sogar für das interpretierte Net.Data gelten, wenn man hier optimiert.
Und letztendlich ist Ausführungsgeschwindigkeit auch nicht immer alles. Da bastelt man tagelang um ein interaktives RPG-Programm zum fliegen zu bekommen, und wenn es dann Reisegeschwindigkeit erreicht hat, kommt Herr Interaktivwächter und haut dem Programm eins auf die Fr^h^hNase.
Währenddessen läuft ein Net.Data- oder sonstwieinsbatchgehobene Programm gemütlich aber zügig daran vorbei.
Ich bin ja auch eher ein Freund der grün-auf-schwarzen, aber hier muss man leider der Realität ins Auge sehen.
Übrigens: Wer eine zufällig zwei Maschinen (V5R2 und V5R3) hat, kann ja mal parallel auf beiden Kisten etwas interaktive Last ausprobieren und mit WRKSYSACT sich verlustieren.
Besonders lustige Ergebnisse gibt ein interaktives STRSQL bei parallelem INSERT INTO blubb SELECT * FROM irgendwo ;-)
[Hartgesottene blättern parallel wild im DSPLOG rum]
-h
-
Was mir bei SQL native noch fehlt, ist die gleiche Möglichkeit wie bei SQLCLI, den SQL-Prozess als Hintergrundprogramm (QSQSRVR) zu aktivieren. Damit lege ich dann eine nicht unerhebliche Last in Batch.
Kennt jemand da eine Lösung ?
-
@Baldur: Diese Lösung ist elementar: Zwei Maschinen sind billiger als eine!!!
- Alle Zugriffe per SQL, Rekord Löffel Exzess komplett ablösen
- eine kleine 250 oder so, für 5250, eine (5)250 sozusagen.
- jetzt darf man von der (5)250 auf die richtige AS400, den Datenbankserver connecten und ist dort im Batch.
Dieter Bender
 Zitat von Fuerchau
Was mir bei SQL native noch fehlt, ist die gleiche Möglichkeit wie bei SQLCLI, den SQL-Prozess als Hintergrundprogramm (QSQSRVR) zu aktivieren. Damit lege ich dann eine nicht unerhebliche Last in Batch.
Kennt jemand da eine Lösung ?
Similar Threads
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 17
Letzter Beitrag: 11-05-06, 14:57
-
By Xanas in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 23-02-06, 10:29
-
By Emely in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 17-11-04, 16:20
-
By jbie in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 11-09-01, 10:21
-
By lorenzen in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 21-03-01, 13:44
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