Zitat Zitat von andreaspr@aon.at Beitrag anzeigen
Das halte ich für ein Gerücht!!
Die RRN definiert eine eindeutige Zeile in der Tabelle. Da braucht ncht die gesamte Tabelle durchsucht werden.
Die Datenbank schlüsselt diese Nummer intern auf und greift direkt auf den Satz zu.
Andreas,
auch wenn die Relative Satz-Nr. eindeutig eine Zeile definiert, kann die relative Satz-Nr. vom SQL-Optimizer nicht als Zugriffsweg verwendet werden.
Relative Satz-Nr. sind NICHT Standard-SQL!

Zugriffswege können nur über existierende Spalten oder über neue Spalten, die in SQL Indices oder logischen Dateien definiert werden.
RRN(File) ist bei der Erstellung von neuen Spalten in SQL Indices nicht zulässig.

Deshalb kann der Optimizer nicht über einen Index-Access zugreifen, sondern muss eine andere Methode wählen. Unter der CQE wurde grundsätzlich ein Table Scan (wie Baldur beschreibt) verwendet, seit SQE kann stattdessen fast immer eine Table Probe verwendet werden, d.h. der Satz wird erst gelesen, wenn er gefunden wurde.
Table Probes sind zwar um einiges schneller als Table Scans, da die Daten erst gelesen werden, wenn der Satz gefunden wurde, aber dennoch wesentlich langsamer als ein Index Access oder Zugriff über Chain in RPG.

@Tarkusch,
wenn Du schon die Datensätze via RPG liest, warum machst Du dann nicht den Update direkt mit RPG?
Datei als Update-Datei definieren und schon kann man den gelesenen Satz updaten.

Birgitta