Hallo,

ein paar Anmerkungen aus meiner subjektiven Sicht:

- entweder man nimmt SQL oder Record Level Access, Mix sollte immer nur Übergang sein (Mix ist auch ein Bremser und Ressourcenfresser und tödlich für die Wartbarkeit).

- SQL ist ein übergreifender Standard, sowohl was Datenbanken betrifft, als auch was Programmiersprachen angeht

- ein Umstieg auf SQL sollte man nur machen, wenn man auch bereit ist seinen Programmierstil zu ändern in Richtung auf Entkoppelung von Anwendung und Datenbank. Sprich weg vom Navigieren über Tabellen, hin zu Mengen orientierter Verarbeitung. Daraus resultieren die entscheidenden Unterschiede:
-- höhere Flexibilität bei besserer Wartbarkeit durch die Möglichkeit von dynamischen Auswahlen.
-- komplexe Auswahlen, wie angeführt werden deutlich einfacher
-- in der Summe bessere Performance durch klarere Logik, weniger Mehrfachverarbeitung und besseres Verhältnis von asynchronem und synchronem lesen, bei höherer Last für den Rechner (man bekommt nix geschenkt, auch hier nicht!!!).
-- ich habe mich eigentlich nie für die Objektgrößen interessiert, sollte mich nicht wundern, wenn die SQL Runtime unnötigerweise in die Programme eingeht und diese aufbläht, in der Summe dominieren hier aber andere Faktoren, wie Modularisierung (je besser, desto kleiner das Ganze, in Monolithen ist alles doppelt und dreifach) und entscheidend ist doch allenfalls die Größe der Updates und da geht es ebenfalls um Modularisierung (Zentralisierung von Änderungshäufigkeit).

- Beispiele findet man sicher in den Fragestellungen in diesem Forum und in den IBM Publikationen, wobei da vieles leider nicht gerade modularen Stil abbildet.

mfg

Dieter Bender



Zitat Zitat von christian_lettner
Hallo!

Wir arbeiten derzeit bei allen Programmen mit CHAIN bzw. READ-Schleifen.

Kann mir jemand die Vor- bzw. Nachteile dieser Methode, bzw. der Verwendung von SQL in RPGLE aufzählen.

Bei welchen Programmen macht der Einsatz von SQL überhaupt Sinn? Bei Übersichten, Wartungsprogrammen, Batch-Programmen, ...
Ist mit SQL eine Übersicht mit 5,6,7,.... unterschiedlichen Auswahlfeldern überhaupt halbwegs unkompliziert realisierbar?
Wie sieht es mit der Performance der beiden Methoden aus.
Nimmt die Objektgröße bei Verwendung von SQL gravierend zu? Ist deshalb interessant, weil wir permanent Updates bei Kunden installieren müssen.

Hat jemand vielleicht ein einfaches Beispiel für die Verwendung von SQL mit dynamischer Auswahl, bzw. Insert oder Update.

Bin für jede Info dankbar, da ich unseren Programmierstiel etwas modernisieren möchte.

mfg Chris