На сколько плохо использовать такой запрос?

Делаю подобие интернет магазина на Laravel. И Eloquent предлагает такой вариант запроса:
select * from `products` where exists (
    select `id` from `properties_values_int`
    where `products`.`id` = `properties_values_int`.`product_id` and `value` = ?
) and exists (
    select `id` from `properties_values_string`
    where `products`.`id` = `properties_values_string`.`product_id` and `value` = ?
) and exists (
    select `id` from `properties_values_string`
    where `products`.`id` = `properties_values_string`.`product_id` and `value` = ?
)

На сколько плохо использовать такой запрос при фильтрации товаров, с учетом того, что типы свойств разнесены по таблицам и расставлены индексы?
  • Вопрос задан
  • 733 просмотра
Решения вопроса 1
samodum
@samodum
Какой вопрос - такой и ответ
Ответ не имеет значения без данных о нагрузке.
Если нагрузка никакая, то это вполне хороший запрос.

Если этот запрос выполняется долго, но к нему идут частые обращения,та данные там не меняются, то имеет смысл подготавливать выборку заранее, писать результат в отдельную таблицу и уже эти данные отдавать пользователям
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
php666
@php666
PHP-макака
Сделай explain и посмотри.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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