IZ
Такие подзапросы (если всё нормально) должны по идее быстро работать.
Ну вот и напиши их так, чтобы они были простыми и каждый раз по индексу ходили.
Только не пытайся одну таблицу привязать сложным JOIN-ом, привяжи две или три, потом в выражении CASE-ом возми из трёх таблиц нужные значения по условию