select
`street`.`<…>` as `__f__street---<…>`,
`type`.`<…>` as `__f__street---__f__type---<…>`,
`district`.`<…>` as `__f__street---__f__district---<…>`,
`street_images`.*
from
`street_images`
left join
`streets` as `street` on `street`.`id` = `street_images`.`street_id`
left join
`street_types` as `type` on `type`.`id` = `street`.`street_type_id`
left join
`districts` as `district` on `district`.`id` = `street`.`district_id`
order by `sort` asc
limit 1
instead of this
select `street_images`.* from `street_images` order by `sort` asc limit 1
select `streets`.* from `streets` where `streets`.`id` in (?) order by `title` asc
select * from `street_types` where `street_types`.`id` in (?) order by `title` asc
select * from `districts` where `districts`.`id` in (?) order by `sort` asc
actually this
instead of this
it is not faster and uses more memory.