Вход • Регистрация

Всего найдено: 10

  • 04 марта, вторник , редакция: 1741090204
  • ага, думаю тоже - лучшее решение, наверное в итоге так и сделаю + примерно аналогично модулю индескации поиска возможность ручной переиндексации в админке
  • 04 марта, вторник , редакция: 1741066162
  • Всем привет
    Виталий, теперь я ковыряю мебель-северик и фильтр)

    Сайт оооочень интересный в плане огромной базы товаров и характеристик! Как раз чтобы откатать и улучшить производительность и сделать оптимизацию

    У меня был один такой некогда по строительной тематике - в итоге клиент ушел с Диафана на другой движек как раз из за тормозов в списке товаров из за фильтра. Потому вопрос очень интересен

    Удалили вообще ВСЮ товарную базу и таблицы характеристик

    настроил импорт чтобы небыло логических дублей, мусторных рарактеристики и прочего
    загрузили товары

    https://i.imgur.com/uEznhLt.png с таблицей значений выпадающих все более или менее нормально

    выше писал

    Цитата
    стандарт, удалены все темы кастомные, включен защитный режим работы



    без Степанового фильтра (хотя если отключить у него дополнительный функционал в виде подсчета кол-ва товаров и вывода товаров подкатегорий - он делает идентичные запросы) - все стандартно

    все равно отрабатывает очень долго (скрины выше в сообщении)



    И я, акцентирую, за то чтобы не кинуть камень в чейто огород а максимально улучшить

    джойн по текстовому полю я бы убрал в любом случае в таком виде (если в чем-то тут не прав - обсуждаем:) )
    https://i.imgur.com/7aAfPeD.png

    сделал выше цикла подзапрос на список товаров которые находятся в текущей категории(категориях) - не стал их пихать в индексную таблицу как на скрине выше у Сергея

    сделал поле для числового значения айдишника селекта для нормального джойна по INT

    https://i.imgur.com/jvdfacI.png

    сделал выше цикла подзапрос на список характертисик которые обозначены для использования в поиске ибо зачем нам тонна других которые выводятся только в карточке товара и в поиске не учвствуют


    и в запросах на select,multiple и тп уже не тягаем shop, shop_category_rel
    а делаем element_id IN() выборка айдишников товаров выше(можно кешернуть) и param_id IN() выборка только параметров для поиска

    в numtext все тоже самое но без джойна ессно


    https://i.imgur.com/nEGLRNR.png
    (shop_param_element_search_index - дубль shop_param_element с добавленным и сгенерированным select_value_id)

    в итоге 1-1,5 секунд а не 14
    уже лучше

    если есть еще идеи или предложения/обсуждения - пишем
  • 25 февраля, вторник , редакция: 1740453419
  • стандарт, удалены все темы кастомные, включен защитный режим работы
    страница грузится за 14 секунд
    https://i.imgur.com/MKHPAa9.png

    грузится запросами вида

    Код
    SELECT p.name1 AS name, p.id FROM `diafan_shop_param_select` AS p INNER JOIN `diafan_shop_param_element` AS e ON p.param_id=e.param_id AND p.id=CAST(e.value1 as DECIMAL) INNER JOIN `diafan_shop` AS s ON e.element_id=s.id AND s.act1='1' AND s.trash='0' INNER JOIN `diafan_shop_category_rel` AS c ON c.element_id=s.id AND c.cat_id IN (104) WHERE p.param_id=957 GROUP BY p.id ORDER BY p.sort ASC


    таблица джойнится через поле e.value1 типа TEXT что прям печально
    даже если ему сменить тип на varchar и добьавить индекс, ускоряет но не особо, ну, страница грузится 6 секунд что тоже неприемлемо
    джойнить нужно по INT

    в общем с ростом таблицы shop_param_element и shop_param_select тормаза увеличиваются пропорционально

    я хз что тут сделаешь, вижу только вариант сделать индексную таблицу где будет все в одной подготовлено и работать с ней

    у кого какие еще идеи?
  • 05 марта, среда , редакция: 1741152941
  • по оплате все ровно) работаем не первый месяц

    Виталий, shop_param_element - ничего не сделаешь - номенклатура действительно очень различна и очень различны значения характеристик и то это сократили вразы уже так как в импорте была еще тонна дублей (когда значение писалось как "220" "220в" "220вольт"/ "круг" "круглый" "окружность" и тд и тп) и продалжают заниматься этим
    а товары и характеристики только еще начинают добавляться заново в магазин) там еще куча поставщиков

    я отписываю мысли
    для существующих дел и в будующем для новой версии пока предлагаю внести айдишник знчения выпадающего списка и джойнить по нему + ограничить для поиска выборку только характеристиками отмеченными для поиска - уже думаю пока будет достаточно

    и да, тоже думаю 1,5 секунды вполне норм для такого "потлотна" характеристик в фильтре - ускорение будет путем дальнейшей оптимизации самого логического вывода фильтра - ограниченного набора только действительно нужных полей и значений

    если придумам чтото более гибкое правильное и универсальное , отпишу сюда с решением

    вообще в планах и индексы для поиска для больших БД и скрытие/неактивность характеристик неудовлетворяющих фильтрации и кол-во найденных товаров НО на ajax в отдельных потоках и тп

  • 06 марта, четверг
  • Цитата
    Но, опять же, проблему с кучей смысловых дублей это не решит

    ну это дело импорта я думаю - зачем в бд вообще эти дубли в принципе?
    в импорте мы сделали чтобы админ сам назначал соответствия значений в файлеимпорта/знаения характеристик сайта, не все, а так скажем список замен, что на что менять при импорте(у разных поставщиков на все и вся - свои форматы) и тогда все сведется в единые значения - те что на сайте

    Код
    но за исключением случаев, когда кто-то хочет у каждого значения каждой характеристики фильтра иметь циферку

    но все равно в филььтре должны выводиться и учавствовать в выборке в БД только характеристики отмеченные для поиска же
    а циферки, аяксом вытащим и в настройки фильтра чтобы можно отключать

    а вообще с редисом прям тема, но - она не для всех
  • 24 декабря 2022 г. , редакция: 1671862338
  • добавил партерку в Программу лояльности

    партнеру дается ссылка с уникальным кодом и qr-код под нее
    настраивается кол-во бонусов(рублей) которые ему упадут на счет при регистрации нового юзера по его ссылке и при покупке товара(при переводе заказа в определенный статус ) - под каждую группу пользователей(партнеров) отдельно


    вывод бабла с ЛК партера через существующие системы оплаты не делал, ибо не не представляю - нужно ли вообще

  • 14 февраля 2020 г.
  • если такая штука не нужна ссылка

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

Новости

  • Вчера, 12:37
  • Мы обновили систему тарифов, учитывая опыт работы с клиентами и современные рыночные условия. Новая тарифная сетка разработана специально для того, чтобы лучше отвечать вашим потребностям. Резкого повышения цен не произошло. Более того, некоторые тарифы даже стали выгоднее и доступнее. 
  • 17 января
  • В преддверии 2025 года была выпущена сборка 7.2.5, которая не приносит радикальных изменений в функциональности, но способствует повышению стабильности работы системы и расширению возможностей облачного сервиса для создания сайтов.
  • 18 июня 2024 г.
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.

Форум