SELECT DISTINCT options.id, options.foo_option_id, options.description
FROM vehicles
INNER JOIN vehicle_options ON vehicle_options.vehicle_id = vehicles.id
INNER JOIN options ON options.id = vehicle_options.option_id
INNER JOIN discounted_vehicles ON vehicles.id = discounted_vehicles.vehicle_id
WHERE discounted_vehicles.discount_id = 4;
Приведенный выше запрос возвращает мне 2067 строк, и он выполняется локально за 1,7 секунды.
Мне интересно, насколько это быстро, насколько это возможно, или я могу как-то настроить его, так как этот набор данных будет быстро расти со временем.
Вещи, которые я пробовал без изменения скорости:
1 - изменить порядок объединения, объединяя таблицы от самых маленьких до самых больших.
2 - добавление индекса в discided_vehicles.discount_id.