Оптимизация одного из ключевых запросов к БД
Добрый день!
Сегодня получили письмо от службы поддержки со следующим содержанием
Как я понимаю это один из ключевых запросов, поскольку он выполняется к таблицам prefix_topic prefix_topic_content и если я не ошибаюсь, то его основная задача — поиск топиков.
Подскажите что можно здесь сделать? Кто сталкивался с похожей проблемой?
У нас заблокировали пользователя БД из-за этого!!!
Сегодня получили письмо от службы поддержки со следующим содержанием
Доброго времени суток!
Вот этот запрос перегружает базу.
SELECT SQL_CALC_FOUND_ROWS DISTINCT t.topic_id, CASE WHEN (LOWER(t.topic_title) REGEXP '[[:<:]]plazan[[:>:]]') THEN 1 ELSE 0 END + CASE WHEN (LOWER(tc.topic_text_source) REGEXP '[[:<:]]plazan[[:>:]]') THEN 1 ELSE 0 END AS weight FROM prefix_topic AS t LEFT JOIN prefix_topic_content AS tc ON tc.topic_id=t.topic_id WHERE (topic_publish=1) AND ((LOWER(t.topic_title) REGEXP '[[:<:]]plazan[[:>:]]') OR (LOWER(t.topic_title) REGEXP '[[:<:]]plazan[[:>:]]') OR (LOWER(tc.topic_text_source) REGEXP '[[:<:]]plazan[[:>:]]') OR (LOWER(tc.topic_text_source) REGEXP '[[:<:]]plazan[[:>:]]') ) ORDER BY weight DESC, t.topic_id ASC LIMIT 0, 20
Сделаете с ним, пожалуйста, что-нибудь.--
Как я понимаю это один из ключевых запросов, поскольку он выполняется к таблицам prefix_topic prefix_topic_content и если я не ошибаюсь, то его основная задача — поиск топиков.
Подскажите что можно здесь сделать? Кто сталкивался с похожей проблемой?
У нас заблокировали пользователя БД из-за этого!!!
14 комментариев
выключить поиск вообще или поставить сфинкс.
этот плагин вам тоже не особо поможет, т.к. нагрузка в них почти одинаковая.
или ищите новый хостинг
Столкнулся с проблемой медленной загрузки постов. Полез в дебаггер и действительно, один sql-запрос очень долго выполняется. В sql я не силен, поэтому предполагаю, что этот запрос необходим для отслежки последней активности(верно?) Можно ли его оптимизировать? Время выполнения прыгает от 400мс до 8с, что очень много. Или же проблема в настройках mysql? В общем, в какую сторону копать? :)
dl.dropbox.com/u/60364146/CloudShot/shot_29032012_141556.png
На счет запросов — сейчас 4 плагина включены, так что уменьшить их кол-во я не могу :) Позже посмотрю настройки mysql, они вроде как дефолтные…
На счет индекса — нет, пока не знаю как это реализивать.
Посмотри как он «быстро» работает.
У меня тариф: Optimal — CPU Intel Xeon — 1000 Mhz, Оперативка: 1024 Mb
Как итог: тариф не оправдывает свои показатели.
Вообще решайте сами конечно, но если есть деньги то идите на www.truevds.ru/