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

v7.7.4 обновление от 29-Апр-2026


ab.support.serhii

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

  • Администраторы
Post #16276 Опубликовано

Дорогие друзья, сегодня мы выпустили релиз обновления:

SEO страницы для фильтров v7.7.4 от 29-Апр-2026

Исправления ошибок:
[!] Для генерации SEO-страниц для фильтров по правилам исправлена маркировка обновляемых SEO-страниц.

Обновления доступны всем пользователям с активной подпиской, производятся через Центр обновлений CS-Cart.


Хотите, мы оповестим Вас о следующем обновлении? Подпишитесь на наши каналы для анонсов:
Telegram
WhatsApp
YouTube

  • 1 месяц спустя...
Post #16490 Опубликовано

Дорогие разработчики.

Не пытаюсь вас заспамить. Лишь пробую ускорить Карт. В меру своих познаний.

Все эти предложения тестировались Клавдией на девкопии сайта по нескольку раз и с кучей допзапросов.

Поэтому надеюсь, что ее выводы таки верны.

Прошу вас перепроверить и внедрить.

Спасибо.

 

Файл: app/addons/ab__seo_filters/Tygh/ABSF.php — _get_hash_combos_condition (стр. 178)

Почему это проблема: при генерации SEO-фильтр страницы запрос SELECT IFNULL(field_type,0) FROM ?:product_filters WHERE filter_id=?i выполняется в цикле без кеша. На реальной странице мы намерили 116 повторов для одного filter_id=35, 69 — для filter_id=26, суммарно ~185 одинаковых запросов. Тип фильтра не меняется — 184 из 185 обращений лишние. Это классический N+1: каждый запрос дешёвый, но сотни round-trip к БД на каждом хите SEO-страницы складываются в заметную нагрузку (а SEO-страниц у магазина тысячи).

 

Решение — статический кеш в рамках запроса:

 

 

 

static $field_type_cache=[];
if (!isset($field_type_cache[$filter_id])) {
    $field_type_cache[$filter_id]=db_get_field('SELECT IFNULL(field_type,0) FROM ?:product_filters WHERE filter_id=?i',$filter_id);
}
if ($field_type_cache[$filter_id]) {

 

 

+ ~185 запросов → 1 на уникальный filter_id. Всего SQL-запросов на SEO-странице: 660 → 475 (вдвое меньше обращений к БД).

 

 

  • Like 1
  • OK 1

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

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

Создать аккаунт

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

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

Войти

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

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

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