Инструкцыя по обновлению базы даных при переходе на алгоритм уплотнения базы даных для большей производительности

Обзор статьи.

Эта инструкция служыт для перехода на новую модель базы даных, которую использует Traffstat при сборе статистики, в которой реализирован алгоритм уплотнения базы даных по времени, чтобы оптимизировать скорость работы самой базы и операций виборки , обновления, добавления даных в базу.

  • Как проверить что используетса устаревшая база данных?
    В консоли нужно выполнить
user@localhost:#mysql -u user -p 123456
mysql>use trafstat; // база програмы traffstat
mysql>show tables;

Если вместо таблицы traffic_cur используетса traffic, значить вы используете устаревшую базу данных.

  • Как перейти на новую базу?

Нужно получить новые исходники програмы.

svn co http://svn.shelek.su/public/trafstat/trunk/
  • Дальше проделать такое:
user@localhost:#mysqladmin create temp_base # создадим новую базу
user@localhost:#mysql temp_base < sql/base.sql # создадим новую структуру базы

Правим скрипт 'baseold2new1.pl', что бы он читал данные из текущей базы, например 'test', и записывал в 'temp_base'

user@localhost:#./baseold2new1.pl  # переносим данные в 'temp_base'

Если а базе много собрано статистики, то даный срипт будет долго выполнятса. Например при размере базы 150 Мб скрипт выполняетса приблизительно ...
Далее
user@localhost:# mysqldump --opt trafstat > trafstat_old.sql # сохраняем старую базу
user@localhost:# mysqladmin drop trafstat # удаляем старую базу
user@localhost:# mysqladmin create trafstat # создаём пустую базу
user@localhost:# mysqldump --opt temp_base | mysql trafstat # переносим новую базу
user@localhost:# mysqladmin drop temp_base # удаляет темповскую базу

Если есть какието замечания пишыте на мою пошту

Даный мануал создан при помощи Serg79. Ему отдельное спасибо.