Man(n) müsste sich den Zugriffsplan anschauen den die DB derzeit verwendet.
Du kannst dir im Navigator mit Rechts-Klick auf "Datenbanken" den Job anschauen der die Abfrage durchführt --> dann Details --> und auf Visual Explain.

Dann könntest du vielleicht erkennen warum er diese Reihenfolge vorschlägt.

Alles was > ein paar Sekunden und überhaupt bei über 1 Stunde braucht, liegt das Problem entweder an der Abfrage selbst.
Oder an gewissen Datenbankeinstellungen (SRTSEQ=*HEX?, QAQQINI, Logische File im FROM statt Phyische usw.)

Und was MQTs betrifft ist es so wie Obv gesagt hat.
Nur dass es derzeit auf der IBM i noch nicht möglich ist ein automatisches Refresh zu machen. Das gibt es nur bei DB2 LUW.
MQTs sind optimal, wenn die benötigten Daten auch ein paar Stunden oder Minuten alt sein dürfen.
Du kannst sie sowohl über eine als auch mehrere Tabellen anlegen.
Damit verlagerst du die Zeit für das Sammeln der Daten auf einen eigenen JOB der je nach Interval die Vorselektion startet.