• Добрый день. Ищу специалиста по базе данных вордпресс.

    С недавних пор появилась проблема с поиском по сайту. Сначала поиск очень долго обрабатывался, а сейчас сервер просто прерывает этот запрос. Причём не имеет значения поиск с сайта или из админки, что очень усложняет работу, когда необходимо найти и отредактировать какой-то конкретный элемент или большое количество элементов. Приходится вместо поиска листать каждую страницу.

    Не могу понять в чём проблема:
    1)проблема в том, что мощности сервера уже не хватает (так говорит разработчик темы)
    2)либо не правильно проставлены индексы в БД или необходимо исправить запрос (так говорит поддержка хостинга).

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Ответ от хостинга по данной проблеме:

    Ошибка «MySQL server has gone away» означает, что запрос к MySQL-серверу был отправлен слишком «тяжелый» и сервер прервал его выполнение по лимитам. Если посмотреть запрос из ошибки с помощью EXPLAIN-метода в MySQL, то становится видно, что на его обработку MySQL-серверу нужно перебрать в общей сложности 330955520 строк, что, естественно, будет создавать нагрузку и долго обрабатываться. Вам нужно обратиться к разработчику сайта для оптимизации этого запроса или структуры базы данных (например, рассмотреть варианты расстановки индексов в таблицах).

    Параметры сервера баз данных изменить нельзя. Исполнение запросов свыше 10 секунд уже считается нагрузкой на сервер, Ваши запросы исполняются по 30 секунд и более. Вам следует обратиться к разработчику сайта для оптимизации этого запроса или структуры базы данных (например, рассмотреть варианты расстановки индексов в таблицах). Только уменьшение времени обработки MySQL запроса базой позволит устранить эту проблему. Несколько примеров запросов: SET timestamp=1487755231; SELECT DISTINCT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) LEFT JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) LEFT JOIN wp_options ON wp_options.option_name LIKE CONCAT(‘_ait_cityguide_elements_opts_page_’, wp_posts.ID) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (232) AND tt1.term_taxonomy_id IN (232) ) AND ( wp_postmeta.meta_key = ‘_ait-item_item-featured’ ) AND wp_posts.post_type = ‘ait-item’ AND (wp_posts.post_status = ‘publish’) GROUP BY wp_posts.ID ORDER BY CAST(wp_postmeta.meta_value AS CHAR) DESC, wp_posts.post_date DESC LIMIT 0, 10; SET timestamp=1487755171; SELECT DISTINCT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) LEFT JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) LEFT JOIN wp_options ON wp_options.option_name LIKE CONCAT(‘_ait_cityguide_elements_opts_page_’, wp_posts.ID) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (232) AND tt1.term_taxonomy_id IN (232) ) AND ( wp_postmeta.meta_key = ‘_ait-item_item-featured’ ) AND wp_posts.post_type = ‘ait-item’ AND (wp_posts.post_status = ‘publish’) GROUP BY wp_posts.ID ORDER BY CAST(wp_postmeta.meta_value AS CHAR) DESC, wp_posts.post_date DESC LIMIT 0, 10;

    Вечер добрый. Пишите в скайп lebanto1

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Слишком долгий поисковый запрос к базе данных прерывается.» закрыта для новых ответов.