Проверено

VDS-хостинг - именно на этом хостинге работает наш сайт.
Sape - биржа временных ссылок, доход 80р/день.
Trustlink - биржа временных ссылок, доход 60р/день.
Telderi - здесь покупаю сайты для дальнейшего заработка.

Партнеры

chelpravo.ru бесплатная online юридическая консультация
chelpravo.ru

Хак Медленные запросы в DLE


DLE хак позволяющий снизить нагрузку на MySQL, что особенно важно для сайтов расположенных на виртуальном хостинге.

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

1. Делаем 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)




2. Подправляем, чтобы работал поиск похожих новостей в админке:

Открываем 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" );
[b]Автор:[/b] walkman7

Другие новости по теме: