Раздер Название темы Ответов Последний
Графика для сайта Shareman 3.70 RUS/2010 0 mandelsonsouggisse
Изготовление контента Нужен контент 10 ali7875
DataLife Engine Проблема регистрации. 1 JimaX
DataLife Engine Модальное окно в DataLife Engine 3 lionprizrak
DataLife Engine Настройка robots.txt 8 Prizrak_2012
Стол заказов на cmsko.ru Мини-чат. 2 JimaX
Общение пользователей Статьи 3 nastroenie
Хостинг TneHost - Хстинг провайдер 10 ali7875
DataLife Engine Установка банеров 9 JimaX
DataLife Engine Помогите с установой. dle95 2 nastroenie
Яндекс Apdate
Апдейты Яndex тИЦ
10.10.2014Последний |
08.08.2014
04.07.2014
Апдейты Яndex выдачи
02.11.2014Последний |
29.10.2014
22.10.2014
Апдейты ЯКаталога
04.11.2014Последний |
03.11.2014
31.10.2014

Информация
Главная страница » DLE » DLE Хаки » Хак Медленные запросы для DLE
Хак Медленные запросы для DLE
» Просмотров: 718 » Дата: 19-01-2011, 20:32 » Автор: NeoMurderer

Хак позволяющий снизить нагрузку на MySQL, что особенно важно для сайтов расположенных на виртуальном хостинге.
Исследовав mysql.slow-queries.log автор наткнулся на очень много запросов на выборку похожих новостей.
И вот какое решение он предложил ...

Установка:
Делаем FULLTEXT поиск только для названия новости и краткой новости:
выполняем запрос(не забывайте поменять префикс dle на свой, если он у вас другой):

ALTER TABLE `dle_post` DROP INDEX `short_story` ,
ADD FULLTEXT `short_story` (
`short_story` ,
`title`
)


открываем engine/modulles/show.full.php находим:
WHERE MATCH (title, short_story, full_story, xfields)


и меняем на:
WHERE MATCH (title, short_story)


Подправляем, чтобы работал поиск похожих новостей в админке:
открываем engine/ajax/find_relates.php находим:
$db->query( "SELECT id, title, date, category, alt_name, flag, MATCH (title, short_story, full_story, xfields) AGAINST ('$title') as score FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$title') AND approve='1'" . $where . " ORDER BY score DESC, date DESC LIMIT 5" );


и меняем на:
$db->query( "SELECT id, title, date, category, alt_name, flag, MATCH (title, short_story) AGAINST ('$title') as score FROM " . PREFIX . "_post WHERE MATCH (title, short_story) AGAINST ('$title') AND approve='1'" . $where . " ORDER BY score DESC, date DESC LIMIT 5" );



Комментарии: 0 Теги: Медленные, запрос
 (голосов: 1)
Уважаемый посетитель, Вы зашли к нам на сайт как незарегистрированный пользователь. Мы рекомендуем Вам бесплатно зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.