Перейти к содержанию

Рекомендуемые сообщения

День добрый!
Поставил один из коммерческих фильтров, поиск по цене жуткие тормоза.

По логике, если индекса по цене нет, это так  и должно быть.

Ладно по атрибутам, там все по id, а как быть с ценой?  
И как эта проблема решается?  
Направьте мои мысли в правильном направлении . )
P.S. Исходники фильтра смотрю конечно, но надо  понять алгоритм.

 

 

Изменено пользователем Pirks

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сколько товаров?

пишите разрабу фильтра. если модуль убивает сайт - это плохо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, kJlukOo сказал:

сколько товаров?

пишите разрабу фильтра. если модуль убивает сайт - это плохо

1. ~45000 
2.  Я вообще хочу понять, как работают фильтры по цене в OC. А разрабу всегда успеем написать. )  
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е получается, у фильтра должен быть такой параметр, как время поиска по не индексируемым полям и демо, где можно убедиться,  как он работает с определенным количеством товаров.

Изменено пользователем Pirks

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зависит от фильтров, некоторые быстро работают с 50000 товаров, некоторые с 500 товарами долго...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделайте запрос в phpmyadmin

 

select * from product where price>10 AND price<100

сколько он будет выполняться?

Во всем остальном виноват фильтр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, nikifalex сказал:

сделайте запрос в phpmyadmin

 

select * from product where price>10 AND price<100

сколько он будет выполняться?

Во всем остальном виноват фильтр

Точно!!  Да мы сейчас в консоли это сделаем.  )

Изменено пользователем Pirks

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
<?php
	$stmt = $ocpdo->prepare("select product_id from `ocst_product` where price > 1000 and price < 5000000");
	$stmt->execute();
	$rowCount = count($stmt->fetchAll());
	var_dump($rowCount);
?>

Летает! Т.е. тормозит фильтр.

Изменено пользователем Pirks

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Eldaeron сказал:

Зависит от фильтров, некоторые быстро работают с 50000 товаров, некоторые с 500 товарами долго...

Да, теперь понятно. Смотрел исходники - очень сложные запросы.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну вот а это уже называется "оптимизация запросов, кода, сервера, кэширование" и прочие умные слова.

Иногда над этим думают авторы фильтра, но часто приходится самостоятельно над этим работать.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, nikifalex сказал:

ну вот а это уже называется "оптимизация запросов, кода, сервера, кэширование" и прочие умные слова.

Иногда над этим думают авторы фильтра, но часто приходится самостоятельно над этим работать.

Получается, оптимальный вариант - взять пару бесплатных фильтров, вытащить необходимый функционал и допилить, чем покупать.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.