Ich denke nicht, dass der EXISTS die beste Lösung ist.
Die Erfahrung hat gezeigt, dass der Optimizer besser optimieren kann, wenn alle JOINs an einer Stelle erfolgen.

Deshalb sollte, wie bereits in den vorherigen Antworten beschrieben, der JOIN nicht in den WHERE-Bedingungen, sondern in der FROM-Anweisung erfolgen. Vor allem sollte die 2 malige Verknüpfung mit der DATEI02 vermieden werden.

Wichtig ist, dass Indices über die LaufNummer bzw. PK und die Zeitmarke vorhanden sind.

Versuch's mal mit dem folgenden Statement
Code:
Select a.* 
   from TEST01 a 
        Left Outer Join DATEI02 b on     a.LaufNummer = b.PK
                                     and b.Timestamp between '2019-07-17-00.00.00.000000'
                                                         and '2019-07-24-00.00.00.000000'
        Left Outer Join HEADER h  on     a.LaufNummer = h.LaufNummer
                                     and h.Timestamp between '2019-07-08-00.00.00.000000'
                                                        and  '2019-07-15-00.00.00.000000';
Birgitta