Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Хак Медленные запросы.
Скачать бесплатно Хак Медленные запросы.
Хак позволяющий снизить нагрузку на 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" );
Спасибо за внимание!