Jump to content

Чистка бд


falkon
 Share

Recommended Posts

Вот такой запрос поможет оценить что больше всего ест место в БД

select table_name as Name,
round((data_length+index_length)/1024/1024,2) as Size,
table_rows as Rows
from information_schema.tables
where table_schema='table_ipb' order by Size desc limit 10;

Вместо table_ipb надо вписать имя вашей БД для форума.

 

Далее чистить подобным

delete FROM ibf_inline_notifications where notify_read=1;
commit;
optimize table ibf_inline_notifications;

truncate ibf_task_logs;
commit;
optimize table ibf_task_logs;

truncate ibf_search_keywords;
commit;
optimize table ibf_search_keywords;

truncate ibf_search_visitors;
commit;
optimize table ibf_search_visitors;

truncate ibf_inline_notifications;
commit;
optimize table ibf_inline_notifications;
Link to comment
Share on other sites

Есть там еще одна хитрая таблица сессий, она прилично места в БД отъедала. Я для неё поменял тип на таблицу в памяти, то есть она не отъедает место в БД.
 
Все удаления в БД надо проводить с головой, последствия могут быть печальными. Перед delete и truncate сделайте select, чтобы понимать что именно вы удалите потом.
 
Вот с моей рабочей БД форума
 

ibf_posts		268.97		68568	
ibf_search_keywords		43.61		48397	
ibf_sessions		30.65		103	
ibf_inline_notifications		7.82		1906	
ibf_skin_cache		6.08		166	
ibf_message_posts		5.16		5397	
ibf_search_visitors		4.94		16907	
ibf_task_logs		4.78		5883	
ibf_skin_templates		1.89		857	
ibf_core_sys_lang_words		1.81		10873

смело можно чистить ibf_search_keywords, ibf_inline_notifications, ibf_search_visitors, ibf_task_logs более мне чистить нечего, поскольку ibf_sessions живет в памяти, а не в файле таблицы БД на диске.

Link to comment
Share on other sites

Почистил, теперь стало так

ibf_posts		268.97		68568	
ibf_sessions		30.65		111	
ibf_skin_cache		6.08		166	
ibf_message_posts		5.16		5397	
ibf_inline_notifications		4.46		1192	
ibf_skin_templates		1.89		857	
ibf_core_sys_lang_words		1.81		10873	
ibf_members_tracker		1.01		3561	
ibf_moderator_logs		0.85		2264	
ibf_login_logs		0.75		14483

Разница видна. ibf_members_tracker и ibf_login_logs у вас не будет, это у меня хуки/приложения стоят.


Про таблицу сессий

 

 

Для перевода таблицы ibf_sessions на форумном движке IPB нужно выполнить команду

ALTER TABLE ibf_sessions ENGINE=MEMORY

для возврата

ALTER TABLE ibf_sessions ENGINE=InnoDB

 

но тут есть один минус - разлогинивание пользователей, если что-то очистило память sql-сервера. Зато ускоряет работу форума и таблица не занимает место в БД. В эту таблицу сессий пишется каждый уникальный посетитель, даже поисковые роботы, поэтому она сильно увеличивается в размере и тормозит, поскольку постоянно блокируется на запись.

 

Тему из флейма перенесите, она полезная и нужная.

Link to comment
Share on other sites

Большие форумы могут работать исключительно в InnoDB, отсюда прямая связь - большую базу нет смысла оставлять в MyISM

Link to comment
Share on other sites

Т.е. InnoDB хранит бд на диске?

Т.е. можно /home/var/www/db/....?

Если это есть, могу купить, места как раз много. 


Почитал про idb.

Понял все.

Link to comment
Share on other sites

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...