Как можно уменьшить объем существующей Базы?
-
- phpBB 1.4.2
- Сообщения: 53
- Стаж: 20 лет 4 месяца
- Откуда: Орёл
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 21 год
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 19 лет 9 месяцев
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 19 лет 9 месяцев
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 19 лет 9 месяцев
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 21 год
Пожалуй, cамое главное, это понять, что, если у вас все работает правильно, то размер базы пропорционален количеству сообщений. Подумайте же наконец мозгами, что все таблицы нужны, и удалением чего-то из них, мы ущемляем функции форума.
Другое дело - пересмотреть некоторые функции.
Посмотрите размеры своих таблиц, и все станет ясно.
Наибольший размер занимают "поисковые" таблицы.
Движок форума был рассчитан на англоязычное применение.
То есть, не учитана морфологическая особенность русского языка.
Перевод движка на "full text search", будет катастрофой для посещаемых форумов.
Вот прикрутить нечто, учитывающее русскую морфологию, позволило бы не только уменьшить таблицы, но и улучшить качество поисковой функции.
Частично, это можно сделать с помощью search_synonyms.txt.
Но большое количество синонимов, даст побочный эффект, о котором можно также долго рассуждать.
Причины и самые простые способы, в теме, я указал.
Дальше, думайте сами, перечислять дополнения к существующим, у меня просто не хватит времени.
Другое дело - пересмотреть некоторые функции.
Посмотрите размеры своих таблиц, и все станет ясно.
Наибольший размер занимают "поисковые" таблицы.
Движок форума был рассчитан на англоязычное применение.
То есть, не учитана морфологическая особенность русского языка.
Перевод движка на "full text search", будет катастрофой для посещаемых форумов.
Вот прикрутить нечто, учитывающее русскую морфологию, позволило бы не только уменьшить таблицы, но и улучшить качество поисковой функции.
Частично, это можно сделать с помощью search_synonyms.txt.
Но большое количество синонимов, даст побочный эффект, о котором можно также долго рассуждать.
Причины и самые простые способы, в теме, я указал.
Дальше, думайте сами, перечислять дополнения к существующим, у меня просто не хватит времени.
-
- phpBB 1.4.2
- Сообщения: 55
- Стаж: 20 лет 2 месяца
- Откуда: Восточное Дегунино, Москва, Россия
Вас хакнули и стерли тысяч несколько записей из таблиц БД...Антоний писал(а):Произошло интересное событие, бэкаплю базу раз в неделю
предпоследний бэкап - 68мБ
последний бекап - 62мБ
Произошло значительное снижение веса, это как то логически объясняется?
Житель района Восточное Дегунино (Москва, Россия)
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 21 год
Иногда, пользователи начинают "рисовать" символами, либо упражняться в выдумывании новых слов, например:
oooooooo
xxxxxxxx
oooooooo
Круууто !
Вся эта срань попадает в поисковые таблицы, причем, не несет в себе смысловой нагрузки, и никогда не будет использоваться в поиске.
Решение - отсекать слова с тремя и более повторяющимися символами.
Вот сделал такой "мини-мод". Тестируйте ...
Слова c повторяющиеся цифрами я не стал отсекать, кому нужно, добавьте их в выражение.
oooooooo
xxxxxxxx
oooooooo
Круууто !
Вся эта срань попадает в поисковые таблицы, причем, не несет в себе смысловой нагрузки, и никогда не будет использоваться в поиске.
Решение - отсекать слова с тремя и более повторяющимися символами.
Вот сделал такой "мини-мод". Тестируйте ...
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_search.php
#
#-----[ FIND ]------------------------------------------
#
// Remove URL's
$entry = preg_replace('/\b[a-z0-9]+:\/\/[a-z0-9\.\-]+(\/[a-z0-9\?\.%_\-\+=&\/]+)?/', ' ', $entry);
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Игнорирование слов, содержащих последовательно три или более одинаковых буквы
$entry = preg_replace('#\b([a-zа-я])*\1{2,}[a-zа-я]*\b#is', ' ', $entry);