Оптимизирвоать запросы к базе

InstantCMS 2.X
#1 11 сентября 2019 в 13:05
Хостер пока мягко, но настоятельно посоветовал оптимизировать запросы к базе.
И таких запросов два:

№1
/system/controllers/content/model.php => 2405 => modelContent->getContentItems()
SELECT i.*, u.nickname as `user_nickname`, u.avatar as `user_avatar`, f.title as `folder_title`
FROM dog_con_board i
FORCE INDEX FOR ORDER BY (dataset_all)
INNER JOIN dog_con_board_cats_bind as b FORCE INDEX (item_id) ON b.item_id = i.id
INNER JOIN dog_con_board_cats as c ON c.id = b.category_id
INNER JOIN dog_users as u ON u.id = i.user_id
LEFT JOIN dog_content_folders as f ON f.id = i.folder_id
WHERE (c.ns_left >= '66') AND (c.ns_right <= '67') AND (i.is_approved = '1') AND (i.is_deleted IS NULL) AND (i.is_pub = '1') AND (i.is_parent_hidden IS NULL)
ORDER BY i.is_fix desc, i.date_pub desc
LIMIT 4, 4
Время выполнения 0.51153 секунд

№2
/system/controllers/content/model.php => 2340 => modelContent->getContentItemsCount()
SELECT COUNT( i.id ) as count
FROM dog_con_board i
FORCE INDEX FOR ORDER BY (dataset_all)
INNER JOIN dog_con_board_cats_bind as b FORCE INDEX (item_id) ON b.item_id = i.id
INNER JOIN dog_con_board_cats as c ON c.id = b.category_id
WHERE (c.ns_left >= '66') AND (c.ns_right <= '67') AND (i.is_approved = '1') AND (i.is_deleted IS NULL) AND (i.is_pub = '1') AND (i.is_parent_hidden IS NULL)
Время выполнения 0.23534 секунд

Честно говоря, я вообще не понимаю куда копать. Может быть, у кого-то был опыт оптимизации данных запросов? Хостер отказывается помогать, отправляет к разработчику.
#2 11 сентября 2019 в 13:13
Оптимизировать тут нечего, запросы нормальные.
А вообще запросы оптимизируются через EXPLAIN и добавлением/удалением индексов.
#3 11 сентября 2019 в 13:18

запросы оптимизируются через EXPLAIN и добавлением/удалением индексов

Fuze
Время выполнения 0.51153 секунд — это у него на сайте из-за чего-то там так, нехватки мощности сервера или может бы у любого "Васи" при каких-нибудь неблагоприятных условиях?
#4 11 сентября 2019 в 13:22

это у него на сайте из-за чего-то там так

@noname
Само собой. Шаред хостинг и далее всё по классике "мы настоятельно рекомендуем". На что люди рассчитывают, мне неведомо.

или может бы у любого "Васи" при каких-нибудь неблагоприятных условиях

@noname
Неблагоприятные условия бывают погодными.
#5 11 сентября 2019 в 13:24

Оптимизировать тут нечего, запросы нормальные.
А вообще запросы оптимизируются через EXPLAIN и добавлением/удалением индексов.

Fuze

Тем не менее, у меня на другом сайте подобная страница грузится 0.0503 s и нет медленных запросов, а вот на этом 2.2322 s

Разница ощутимая, если я вот программой SEO оптимизации прохожу и до минимума ставлю число потоков. Потому, что иначе идёт timeout.

Поэтому как-то хотелось бы ускорить загрузку страниц.

Попробую разобраться с EXPLAIN
#6 11 сентября 2019 в 13:27

Тем не менее, у меня на другом сайте подобная страница грузится 0.0503 s и нет медленных запросов, а вот на этом 2.2322 s

ermakover
Вы сами ответили на свой вопрос.
#7 11 сентября 2019 в 13:28

Шаред хостинг

Fuze
Нормальный у меня хостинг — Бегет. Да виртуальный.
Я хотел перейти на VPS, оптимизируйте запросы и всё будет ОК.

А Вы любые подобные вопросы воспринимаете, как личное оскорбление.

Время выполнения 0.51153 секунд — это у него на сайте из-за чего-то там так, нехватки мощности сервера

@noname
Я и пытаюсь выяснить что не так. И дело не в сервере. На том же сервере другой подобный сайт работает быстро.
#8 11 сентября 2019 в 13:31

Честно говоря, я вообще не понимаю куда копать.

ermakover

Хостер пока мягко, но настоятельно посоветовал оптимизировать запросы к базе.

ermakover
Отказаться от шаред хостинга и купить самый дешевый VPS (есть випиэсы за один евро в месяц). Там уже можно будет самому поиграться с my.ini
#9 11 сентября 2019 в 13:33

Отказаться от шаред хостинга и купить самый дешевый VPS (есть випиэсы за один евро в месяц). Там уже можно будет самому поиграться с my.ini

Ris
Наверное так и сделаю. У меня шаред хостинг дороже выходит, чем VPS на 60 Гб.

А так понятно, что какие-то из "левых" дополнений грузят базу, но какие, разобраться бы…
#10 11 сентября 2019 в 13:36

Неблагоприятные условия бывают погодными.

Fuze
И компонентными
#11 11 сентября 2019 в 13:37

А Вы любые подобные вопросы воспринимаете, как личное оскорбление.

ermakover
Как вы это поняли?)

На том же сервере другой подобный сайт работает быстро.

ermakover
Может быть там другие данные и другое их количество?

Попробую разобраться с EXPLAIN

ermakover
Что тут разбираться. Берёте свой медленный запрос, открываете phpmyadmin, вкладка SQL, пишите EXPLAIN ставите пробел и вставляете запрос. Смотрите ответ, анализируете.

А так понятно, что какие-то из "левых" дополнений грузят базу, но какие, разобраться бы...

ermakover
Какие левые дополнения? У вас стоковый SQL запрос. Не надо гадать.
#12 11 сентября 2019 в 13:42

Как вы это поняли?)

Fuze

Я же не обвиняю InstantCMS и Вашу работу. То что из-под Ваших рук выходит, всё работает великолепно.
А вот дополнения от сторонних разработчиков, ещё и заброшенные авторами — это и есть баги.

И первый медленный запрос — это, скорее всего, дополнение с обрезкой аватара. И уже его не снести.

Запрос выполнил и понятно, что ничего не понятно, что делать с ответом
#13 11 сентября 2019 в 13:58

И первый медленный запрос — это, скорее всего, дополнение с обрезкой аватара.

ermakover
Нет, второй раз вам пишу, это стандартный запрос, на который не повлияло ни одно дополнение.
#14 11 сентября 2019 в 14:04

Нет, второй раз вам пишу, это стандартный запрос, на который не повлияло ни одно дополнение.

Fuze

Тогда вообще не понятно — почему на другом сайте тоже на Instantcms c таким же набором дополнений на этот запрос уходит 0.00262 секунд, а на этом 0.74926 секунд.

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