Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Хак Медленные запросы

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

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

Данный материал предоставлен сайтом 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" );


Спасибо за внимание!


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


0
Просмотры: 5 704 :: Комментарии (13) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1HAMMER663

  • 19 января 2011 16:10
  • Регистрация: 25.02.2010
  • Был(а) онлайн: 22.04.2020
  • Комментариев: 153
  • 0
как-то давно такое делал у себя.. особой разницы не заметил...

--------------------

#2WebSupport

  • 19 января 2011 16:12
  • Регистрация: 15.11.2010
  • Был(а) онлайн: 24.06.2015
  • Комментариев: 225
  • 0
По сути разница не велика,не стоит свечь.

#3Iluvatar

  • 19 января 2011 16:20
  • Регистрация: 28.05.2010
  • Был(а) онлайн: 26.05.2012
  • Комментариев: 90
  • 0
А вы думали из-за пары измененных строчек кода у вас сайт будет грузится за 0.0001? :)

--------------------

#4jesters

  • 19 января 2011 17:08
  • Регистрация: 14.10.2010
  • Был(а) онлайн: 2.11.2024
  • Комментариев: 11
  • 0
Разница есть тогда когда у Вас на сайте от 100 000 новостей! Тогда разница есть!

#5mr.Bean

  • 19 января 2011 17:08
  • Регистрация: 3.01.2011
  • Был(а) онлайн: 8.07.2011
  • Комментариев: 39
  • 0
если только для нагруженного сайта

#6Pr00f

  • 19 января 2011 21:22
  • Регистрация: 11.09.2010
  • Был(а) онлайн: 9.08.2012
  • Комментариев: 63
  • 0
и меняем на:
WHERE MATCH (title, short_story)

А если кто-то использует дополнительный поля или разный текст в короткой и полной новости? Нужно было указать хотя бы что удалять и что за что отвечает.

#7Vizmus

  • 20 января 2011 08:22
  • Регистрация: 7.02.2010
  • Был(а) онлайн: 21.04.2022
  • Комментариев: 17
  • 0
ничего особенного, это грубо говоря удалить пару таблиц и запросов в мускуле меньше станет biggrin
Большую часть работы выполняет сервер и тут как не крути, ты получишь один результат.

#8hell

  • 20 января 2011 11:45
  • Регистрация: 12.09.2010
  • Был(а) онлайн: 10.09.2024
  • Комментариев: 90
  • 0
Да и на загруженном не заметно ( Акселератор быстрее переваривает всё

#9yavasilek

  • 20 января 2011 15:23
  • Регистрация: 3.02.2010
  • Был(а) онлайн: 1.07.2021
  • Комментариев: 47
  • 0
а я бы вот так делал
WHERE MATCH (title, full_story)

#10MrChert

  • 20 января 2011 18:21
  • Регистрация: 28.12.2009
  • Был(а) онлайн: 5.11.2011
  • Комментариев: 22
  • 0
Картинка улыбнула! biggrin

#11Lion18

  • 20 января 2011 23:30
  • Регистрация: 13.09.2010
  • Был(а) онлайн: 7.04.2019
  • Комментариев: 226
  • 0
Дополнительные поля сильно нагружают?

--------------------

#12podrapom

  • 1 января 2012 18:10
  • Регистрация: 22.12.2011
  • Был(а) онлайн: 15.05.2012
  • Комментариев: 49
  • 0
это для какой версии?

#13user123456

  • 19 июля 2012 01:02
  • Регистрация: 11.02.2012
  • Был(а) онлайн: 12.08.2020
  • Комментариев: 5
  • 0
hmmm xarawo ok

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)