Hängt von Ihren Daten (wie viele Zeilen gibt es pro Gruppe?) Und Ihren Indizes ab.
Siehe Top-n-Abfragen pro Gruppe optimieren für einige Leistungsvergleiche von 3 Ansätzen.
In Ihrem Fall mit Millionen von Zeilen für nur eine kleine Anzahl von Fahrzeugen würde ich einen Index für VehicleID, Timestamp
hinzufügen und mach
SELECT CA.*
FROM Vehicles V
CROSS APPLY (SELECT TOP 1 *
FROM ChannelValue CV
WHERE CV.VehicleID = V.VehicleID
ORDER BY TimeStamp DESC) CA