Задать вопрос
dzheka3d
@dzheka3d

Как поступить в такой ситуации?

Всем привет! Автомобильный сайт. 70% запросов к БД, на разных страницах, связаны с названием автомобилей. (пример: список комментариев, в котором на против каждого коммента название автомобиля и ссылка на него).
Марки автомобилей хранятся в таблице `brand`, модели в таблице `model`. Для вывода полного названия приходится во всех 70% запросах использовать:
LEFT JOIN `brand` ON `brand`.`id` = `auto`.`brand_id`
LEFT JOIN `model` ON `model`.`id` = `auto`.`model_id`


Правильный ли это подход, либо стоит сохранить два массива марок и моделей в файловый кеш, и подключать везде их к скрипту, а обновлять по мере добавления новых записей в эти таблицы? Много ли я выиграю от этого?
Либо есть более интересный и правильный способ?
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@Draconian
Oracle Developer
Сайт от этого работает медленнее? Сомневаюсь.
Вряд ли у вас в обозримом будущем будут сотни тысяч автомобильных брендов и марок, чтобы такие запросы ощутимо тормозили. С точки зрения реляционной БД здесь ничего страшного нет, в общем, особенно, если сканы идут по индексу.

Если уж хотите что-то оптимизировать, добавьте лучше кэширование запросов, может уменьшить время выполнения для части аудитории.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽