Zunächst danke für die Antworten!
Die Tabelle ist wie folgt aufbeaut:
Code:
CREATE TABLE MYFTPLOG
(ACTCNT INTEGER
NOT NULL WITH DEFAULT,
BEZ CHAR (35)
NOT NULL WITH DEFAULT,
JOBNR INTEGER
NOT NULL WITH DEFAULT,
SEQNR INTEGER
NOT NULL WITH DEFAULT,
CMD CHAR (10)
NOT NULL WITH DEFAULT,
LOG VARCHAR (1024)
NOT NULL WITH DEFAULT,
DATUM TIMESTAMP
NOT NULL WITH DEFAULT)
Es gibt keine Primärschlüsseln (außer die RRN), da es keine Referenzierung auf andere Tabellen benötigt wird, bzw die Datensätze durchaus öfters auftreten können.
(ich weis, eine eigene Spalte mit laufenden Zähler und diesen als PK wäre schöner)
Den Test habe ich über den iSeries Navigator ausgeführt (JDBC).
Habe die Abfrage auch schon mit unterschiedlichen Filterungen durchgeführt. Das Ergebnis war immer das Gleiche. Table-Scan war immer schneller.
Das liegt mit ziemlich ganz sicher daran, dass es eben eine nur sehr kleine Tabelle ist.
Bin mir auch sicher, dass bei entsprechenden Datenmengen die Entscheidung der SQE die Richtige wäre.
Was ich interessant finde ist eben die Tatsache, dass für diesen Fall der Table-Scan schneller wäre, sich der Optimizer aber dennoch für einen anderen weg entschieden hat.
Beim ersten ausführen von WHERE NR = 50 hatte er auch einen Table-Scan durchgeführt (der war auch schneller).
Bookmarks