Drupal 6 Исправить производительность 1 запроса, любым способом
2 000 руб. за проект
Есть запрос который тормозит все и особенно когда оферов становится больше пары сотен.
он подтягивает предложения по текущим квартирам в этом доме ( формат яндекс недвижимость)
->addField("GROUP_CONCAT(DISTINCT `xmlrooms`.`rooms` ORDER BY `xmlrooms`.`rooms` SEPARATOR ', ')","`xmlro
Пример всего запроса https://naydikvartiru.ru/sql.txt
Для чего коркрентый JOIN на скриншоте
Пример где есть оферы но все еще работает https://naydikvartiru.ru/moskva/fresh_1
Проблемная страничка https://naydikvartiru.ru/moskva/zhk-serebryanyj-fo...
Суть проблемы:
Периодически запрос не влазиет в размер кеша mysql ( 300гб), не говоря уже о скорости.
Как правило это дома с большим количеством квартир. (100-1000)
Так же те дома в которых он еще работает и отображает за вменяемое время, следующий JOIN ( он закоментирован ниже) начинает адски затормаживать страничку до 10 секунд, однако сам по себе выполняется за 0.031 поскольку это просто банер с картинкой и текстом. да и таблички там 300 строк.
Насколько я понимаю проблема в том что джоин идет уже к гигантскому массиву.
Насколько я понимаю логику того кто это разрабатывал он просто собирает все данные в один массив, и кладет на его размер и что он собирается с 3 бд кучу раз сортируется и тд, при этом запросы идут вне зависимости от того нужны ли они на этой странице вообще, ничто не кешируется есть только индексы в бд.
Нужно переосмыслить логику этого места, и сделать его более быстрым, по идее до клика на хреф большинство данных просто не нужны вовсе.
nk_xml_import`.`kvartiri`
Большая ( около 600 МБ ) а остальные по размеру никакие.
Решение проблемы будем считать :
я включаю ЖК с самым большим количеством офером и раскоментирую баннер.
Страничка грузится вменяемое время.
Пожалуйста только те кто реально уверен в своих силах, те кто хотят попробовать скорее всего тут так не прокатит, поскольку 3 бд плюс старый друпал вам не дадут этого сделать.
Нужно как минимум хорошо разбираться или в drupal. или реально понимать sql
он подтягивает предложения по текущим квартирам в этом доме ( формат яндекс недвижимость)
->addField("GROUP_CONCAT(DISTINCT `xmlrooms`.`rooms` ORDER BY `xmlrooms`.`rooms` SEPARATOR ', ')","`xmlro
Пример всего запроса https://naydikvartiru.ru/sql.txt
Для чего коркрентый JOIN на скриншоте
Пример где есть оферы но все еще работает https://naydikvartiru.ru/moskva/fresh_1
Проблемная страничка https://naydikvartiru.ru/moskva/zhk-serebryanyj-fo...
Суть проблемы:
Периодически запрос не влазиет в размер кеша mysql ( 300гб), не говоря уже о скорости.
Как правило это дома с большим количеством квартир. (100-1000)
Так же те дома в которых он еще работает и отображает за вменяемое время, следующий JOIN ( он закоментирован ниже) начинает адски затормаживать страничку до 10 секунд, однако сам по себе выполняется за 0.031 поскольку это просто банер с картинкой и текстом. да и таблички там 300 строк.
Насколько я понимаю проблема в том что джоин идет уже к гигантскому массиву.
Насколько я понимаю логику того кто это разрабатывал он просто собирает все данные в один массив, и кладет на его размер и что он собирается с 3 бд кучу раз сортируется и тд, при этом запросы идут вне зависимости от того нужны ли они на этой странице вообще, ничто не кешируется есть только индексы в бд.
Нужно переосмыслить логику этого места, и сделать его более быстрым, по идее до клика на хреф большинство данных просто не нужны вовсе.
nk_xml_import`.`kvartiri`
Большая ( около 600 МБ ) а остальные по размеру никакие.
Решение проблемы будем считать :
я включаю ЖК с самым большим количеством офером и раскоментирую баннер.
Страничка грузится вменяемое время.
Пожалуйста только те кто реально уверен в своих силах, те кто хотят попробовать скорее всего тут так не прокатит, поскольку 3 бд плюс старый друпал вам не дадут этого сделать.
Нужно как минимум хорошо разбираться или в drupal. или реально понимать sql
- Файлы
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.