SELECT *
FROM table1 t1
LEFT JOIN
table2
ON o.id =
(
SELECT o_id
FROM table2 t2
WHERE t2.c_id = t1.c_id
ORDER BY
t2.c_id DESC, t2.isHeadOffice DESC, t2.o_id DESC
LIMIT 1
)
table2 (c_id, isHeadOffice, o_id)
にインデックスを作成します これが速く機能するために。
ORDER BY
サブクエリの句は冗長に見えるかもしれませんが、MySQL
には必須です 適切なインデックスを選択します。