Das ist mir schon klar.
Aber:
Hast du dir mal die Mühe gemacht einen TRCJOB durchzuführen?
Da kannst du sehr schön verfolgen, was da so alles aufgerufen wird.

Bei RLA werden direkt die "hart verdrahteten" CALL-Aufrufe der QDB-Routinen, QDBGET, QDBPUT, verwendet.
Bei SQL startest du mit einem QSQxxx-Aufruf (Spool-Liste), der noch verschiedene weitere Routinen durchläuft bevor er endlich QDBPUT erreicht.
Vergleiche diese Aufrufe mit dem 1. SQL-Insert und dem 2. SQL-Insert.
Dann weißt du, wo die Zeiten verbraten werden.

Im Vergleich zu RLA wird SQL nie vergleichbare Geschwindigkeiten erreichen können, da hier ein gigantischer Overhead betrieben werden muss.
Zumal hier noch interne variabel definierte Felder gegenüber statischen Feldern in RPG gegenüber stehen. Alleine schon die Neudefinitionen der Hostvariablen ist eigentlich unnötig.
Allerdings wird sich wohl kaum jemals noch jemand hinsetzen und einen komplexen SQL mit Joins, derived Tables, rekursive CTE's sowie Gruppierung, Filter, Aggregierung in RLA umzusetzen.