Como lidar com várias junções

Eu tenho uma consulta complexa que requer campos de um total de 4 tabelas. As junções internas estão fazendo com que a consulta demore muito mais do que deveria. Eu executei uma instrução EXPLAIN, cujo resultado visual está anexado abaixo:

Esta é a minha consulta:

SELECT 
   pending_corrections.corrected_plate , pending_corrections.seenDate
FROM
    (pending_corrections
    INNER JOIN cameras ON pending_corrections.camerauid = cameras.camera_id)
        INNER JOIN
    vehicle_vrn ON (pending_corrections.corrected_plate = vehicle_vrn.vrn500
        OR pending_corrections.corrected_plate = vehicle_vrn.vrnno)
        INNER JOIN
    vehicle_ownership ON vehicle_vrn.fk_sysno = vehicle_ownership.fk_sysno
WHERE
    pending_corrections.seenDate >= '2015-01-01 00:00:00'
        AND pending_corrections.seenDate <= '2015-01-31 23:59:59'
ORDER BY pending_corrections.corrected_plate , pending_corrections.seenDate ASC;

Como posso obter o mesmo efeito, mas sem oOR em uma das junções?

questionAnswers(3)

yourAnswerToTheQuestion