- Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB - http://cmsart.ru -

Ускоряем работу DLE с базой данных, уменьшаем количество запросов

Posted By Archi On 02.06.2012 @ 3:45 пп In Статьи DLE | No Comments

Здравствуйте, сегодня я расскажу вам как немного снизить нагрузку на сервер MySQL вашим движком DLE. Исследовав 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″ );

 

Вот и все, проще пареной репы=)))

Источник:  masterdle.ru [1]


Article printed from Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB: http://cmsart.ru

URL to article: http://cmsart.ru/dle/dle-articles/uskoryaem-rabotu-dle-s-bazoy-dannyih-umen

URLs in this post:

[1] masterdle.ru: http://cmsart.ru/?goto=http%3A%2F%2Fmasterdle.ru

Copyright © 2012 Поддержка CMS | Документация, статьи по Joomla, Drupal, phpBB. All rights reserved.