Оптимизация базы

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 25 августа 2011 в 01:14
Такой вопрос… даже два
1. В базе данных есть таблица cms_actions_log она занимает 8.4Мб
Как я понял, в ней ведется лог всего происходящего на сайте… Из нее делается выборка в ленту в профиле? Можно ее почистить, оставив последние полгода? Может из-за этого возникнуть косяк?
2. В соседней ветке обсуждалась также таблица cms_search
Вроде как ее содержимое совсем не важно для сайта, а база нагружается. Можно ее почистить?

Спасибо заранее
#2 25 августа 2011 в 08:34

Можно ее почистить, оставив последние полгода? Может из-за этого возникнуть косяк?

Евгений
Можно почистить, косяка не будет. кстати, настроив крон, можно забыть об очистке данной таблицы — она будет очищаться автоматически.
  1. DELETE FROM cms_actions_log WHERE DATEDIFF(NOW(), pubdate) > 60
где 60 кол-во дней

таблица cms_search… Можно ее почистить?

Евгений
да.
  1. TRUNCATE TABLE `cms_search`
#3 25 августа 2011 в 12:11
Fuze, cron настроен и, судя по словам техподдержки, выполняется.
Может мы с вами о разных таблицах говорим, я о
cms_actions_log с 10,220 записей и весом 8.4 МБ
а вы о
cms_actions с 24 записями и весом 4.9 КБ, которая и вправду, очищается.
cron не удаляет устаревшие записи из cms_actions_log?
Код
  1. DELETE FROM cms_actions_log WHERE DATEDIFF(NOW(), pubdate) > 60
куда писать?
#4 25 августа 2011 в 12:42

Может мы с вами о разных таблицах говорим, я о

Евгений
я вас прекрасно понял. если крон выполняется, то таблица cms_actions_log должна автоматически очищаться, если включено задание remove_old_log. cms_actions НЕ должна очищаться в принципе.

куда писать?

Евгений
в phpmyadmin видимо )
#5 25 августа 2011 в 13:04
Fuze, в том то и дело, что
remove_old_log Удаляет старые записи ленты событий активна. Но в таблице cms_actions_log события с самого основания сайта)
а написаный выше код не удаляет ни одной строки…
#6 25 августа 2011 в 13:11
Ложная тревога. 10 тыщ строк это деятельность посетителей сайта за 2 месяца)
Спасибо за консультации.
#7 25 августа 2011 в 15:14
всегда пожалуйста. если проблема решена закрываем тему.
#8 25 августа 2011 в 23:45
Надеюсь на еще один подробный ответ.
Хостер ругается на нагрузку бд… Скачал сайт на комп, для опытов. При попытке открыть форум (а там у меня где то 30+ тыщ записей) ноут умирает наглухо. Потом php сообщает, что 30 сек истекли.
Fatal error: Maximum execution time of 30 seconds exceeded in Z:\home\test\www\core\classes\db.class.php on line 59
А форум на моем сайте самое оживленное место. Планируется оптимизация форума? И можно ли что-то сделать уже сейчас?
#9 25 августа 2011 в 23:49

Планируется оптимизация форума? И можно ли что-то сделать уже сейчас?

Евгений
какая версия сайта? если последняя, то индексы на таблицах форума тебя спасут.
#10 25 августа 2011 в 23:54

какая версия сайта?

Fuze
1.8, обновленная с 1.7

индексы на таблицах форума тебя спасут

Fuze
эт как? zst
#11 25 августа 2011 в 23:58

эт как?  

Евгений
ну давай доступы на phpmyadmin, сделаю)
#12 25 августа 2011 в 23:59
Это?

Используемое пространство:
Тип — Использование
Данные — 6,819 KB
Индекс — 10,235 KB
Всего — 17,054 KB
#13 26 августа 2011 в 00:04

давай доступы на phpmyadmin,  сделаю)

Fuze

на скрине, к сожалению не могу индексы создать)
давай доступ если есть желание, помогу, порядочность гарантирую)
#14 26 августа 2011 в 00:13
Написал в личку
#15 26 августа 2011 в 00:19
Вот это? myrusakov.ru/mysql-index.html
А для какого поля индексы создаете?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.