Ich glaube das Buch will sagen, dass man als Programmierer nicht wissen kann, ob ein Index verwendet wird oder nicht. Das macht der Query optimizer in der Maschine. Es gibt ja den System i Navigator. Dort gibt es den sogenannten Index Adviser. Damit kann man feststellen, ob das System weitere Indizes haben möchte.

Aus meiner Sicht muss es dem Programmierer zunächst mal egal sein, wie das System die Daten liefert (mit oder ohne Indexzugriff), Hauptsache es geht ausreichend schnell.

Ich glaube nicht, dass jemand außerhalb des IBM Labors sagen kann, welche Regeln es für den Query Optimizer gibt. Es gibt natürlich bestimmte Fälle, in denen man sofort ausschließen kann, dass ein Index verwendet wird (z.B. bei bestimmten Suche mit like).

Ich würde beim Programmieren darauf achten, dass zunächst mal die Indizes angelegt werden, von denen man weiß, dass sie sinnvoll sind. Z.B. wenn ich per Kundennummer zugreife, dass dann auch ein Index über die Kundennummer da ist. Alle weiteren würde ich von der Performance und von den Angaben des Index Advisors abhängig machen.

Dieter