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?