Уменьшение таблиц мускула - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Уменьшение таблиц мускула

#1 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 23 Май 2012 - 16:24

За пару лет существования форума, таблицы message_posts, message_topics и message_topic_user_map выросли до гигантского размера - по кол-ву записей превышают даже таблицу posts. Вопрос - каким запросом удалить все старые записи в этих таблицах, скажем тем которым больше полугода?
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 048
  • Регистрация: 20-Март 09
  • Репутация: 2 417
  • IPB version:3.1.x
 

Отправлено 23 Май 2012 - 17:22

Вы собираетесь удалить личную переписку пользователей?
0

#3 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 23 Май 2012 - 18:16

Просмотреть сообщениеsiv1987 23 Май 2012 - 17:22 сказал(а):

Вы собираетесь удалить личную переписку пользователей?

Старую. Которой больше года уже. И в большинстве это автописьма от ботов (массовая рассылка).

Сообщение изменено: Haktar (23 Май 2012 - 18:16)

0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 048
  • Регистрация: 20-Март 09
  • Репутация: 2 417
  • IPB version:3.1.x
 

Отправлено 23 Май 2012 - 21:21

Примерно так

DELETE t.*, p.*, m.*
     FROM ibf_message_topics t, ibf_message_posts p, ibf_message_topic_user_map m 
     WHERE t.mt_date < UNIX_TIMESTAMP('2011-05-23') AND t.mt_id=p.msg_topic_id AND t.mt_id=m.map_topic_id



Перед выполнением лучше иметь бэкап этих таблиц.
2

#5 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 51
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 25 Январь 2017 - 18:22

Тоже вот решил почистить ЛС.

Удалил кучу мессаг от роботов таким образом:
DELETE t.*, p.*, m.*
FROM b_message_topics t, b_message_posts p, b_message_topic_user_map m
WHERE t.mt_title LIKE 'Уведомление о сообщении в %'
AND t.mt_id=p.msg_topic_id AND t.mt_id=m.map_topic_id;


Но вот ещё проблема - куча переписок между давно удалёнными пользователями :blink:
В PM Viewer это выглядит как мессаги от «Гость_ Deleted Member _*» к «Deleted Member».

В таблицах b_message_topics смотрел на них… mt_starter_id, mt_to_member_id… указанных там номеров - нету в b_members.
Можно как-то сделать SQL команду для удаления тех строк у которых mt_to_member_id не найден в b_members.member_id ?
0

#6 Пользователь не на сайте   avtobus ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 14-Ноябрь 16
  • Репутация: 6
  • IPB version:4.1.x
 

Отправлено 26 Январь 2017 - 00:49

Этот запрос удаляет все переписки от или к удаленным пользователям. Если нужно удалить переписку только между удаленными пользователями и со стороны получателя и со стороны отправителя OR заменить на AND.

DELETE t.*, p.*, m.* FROM ibf_message_topics t
LEFT JOIN ibf_message_posts p ON t.mt_id=p.msg_topic_id
LEFT JOIN ibf_message_topic_user_map m ON t.mt_id=m.map_topic_id
LEFT JOIN ibf_members mm ON mm.member_id=t.mt_starter_id
LEFT JOIN ibf_members mm2 ON mm2.member_id=t.mt_to_member_id
WHERE mm.member_id IS NULL OR mm2.member_id IS NULL

1

#7 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 51
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 26 Январь 2017 - 01:06

Вот интересно - неужели у IPB нет никакого штатного механизма для удаления переписок между удалёнными пользователями?
Посты на форуме - потом может почистить модератор.

А кто и как может почистить личные сообщения??? Пользователи ведь временами удаляются. А весь этот мусор в ЛС - остаётся зачем-то в базе.
Ну если удалён один из собеседников - допустим ЛС может быть надо для истории второму собеседнику. Но если удалены оба собеседника - зачем оставлять их ЛС???

(не рассматривая ручное копание в БД, штатно ведь даже средства для просмотра чужих ЛС - нету)

Ещё какие-то вроде как удалённые ЛС (b_message_topics.mt_is_deleted=1) - тоже в базе зачем-то лежали… Вообще в итоге за 15 лет существования ненужных ЛС было порядка 90%.
0

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 048
  • Регистрация: 20-Март 09
  • Репутация: 2 417
  • IPB version:3.1.x
 

Отправлено 28 Январь 2017 - 01:08

Просмотреть сообщениеf2065 сказал(а):

Вот интересно - неужели у IPB нет никакого штатного механизма для удаления переписок между удалёнными пользователями?

Штатного нету.

Просмотреть сообщениеf2065 сказал(а):

штатно ведь даже средства для просмотра чужих ЛС - нету

Чужие ЛС просматривать не этично. На то они и личные сообщения.
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна