Медленное выполнение запросов с DISTINCT

InstantCMS 2.X
#1 26 января 2022 в 14:09

Всем привет!

Свежеустановленная iCMS последней версии, никаких хуков и дополнений. 60к записей. В типе контента 5 основных категорий, в 3-х из них есть подкатегории. Запись может принадлежать нескольким категориям.

Проблема в том, что при загрузки категории, в которой есть подкатегории, страница открывается 2-3 секунды, а там где нет подкатегорий, открытие занимает 0.5 или менее секунд.

Время открытия (в отладке) уходит на выполнение запросов с DISTINCT.

Подскажите, как можно оптимизировать?

Добавлено спустя 2 минуты

На главной странице, стоит 5 виджетов, которые выводят записи из 5 главных категорий, на открытие уходит 10-15 секунд. Кэш включен!

#2 26 января 2022 в 15:42

Запись может принадлежать нескольким категориям.

Вадим Нарочный

При включении этой опции в запрос получения списка записей добавляется DISTINCT.

Вариантов несколько:

  • не использовать функционал множественных категорий;
  • оптимизация настроек MySQL;
  • предложить свой вариант, как можно сделать выборку при включенных мультикатегориях.
#3 26 января 2022 в 17:34

оптимизация настроек MySQL;

Fuze

Где об этом почитать? Что именно можно сделать конкретно в моём случае?

#4 2 февраля 2022 в 11:39

Проблема с выводом виджетов. На скрине видно. Как оптимизировать запрос? После кеширования, работает быстро, но первая загрузка длительная! На странице 6 виджетов

Изображение

#5 2 февраля 2022 в 20:32

Вадим, добавьте подробностей. Покажите explain запроса habr.com/ru/post/211022/ Расскажите, что в этой таинственной таблице. Мб этот force index мешает использовать другие индексы.

Сразу скажу, что профан в этом деле. Но этого скриншота явно мало, чтобы вам кто-то даже попробовал помочь.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.