php666
@php666
PHP-макака

Какие есть варианты, кроме join для получения связанной информации?

На веб-сайте есть потребность выводить некую информацию, предположим - списки товаров.
Товары находятся у разных поставщиков (пользователей), в разных регионах. Информацию об оных надо также выводить в карточке товара.
Т.е. с таблицей products в запросах идут join-ы по нескольким таблицам:
select * from products, users, regions, cities ....

ко всему к этому добавляется куча условий во where, что создает проблемы по созданию индексов - не получается добиться хороших результатов и найти какой-то оптимальный индекс.

Делать множество запросов на каждый товар вида
$product = Product::findById(123);
$user = User::findById($product->id)

не вариант:
1. Их будет слишком много
2. Программный код уже написан - переписывать долго, есть ORM, которая транслирует результирующий массив от нынешнего запроса в некую коллекцию объектов...

Кэша нет, внедрять - долго.

Какие могут быть еще варианты?
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы