Вот и настал тот день когда база логов звонков разрослась до 1TB. На мой взгляд чтобы не терять историю надо таблицу CDR разбить например по годам(а вдруг пригодятся).
Что я сделал:
1) создал таблицы
- cdr2014
- cdr2015
- cdr2016
2) Экспортировать данные из CDR в cdr2014
INSERT INTO `asterisk`.`cdr2014` SELECT * FROM `asterisk`.`cdr` WHERE `calldate` < '2014-12-31 23:59:59'
3) Экспортировать данные из CDR в cdr2015
INSERT INTO `asterisk`.`cdr2015` SELECT * FROM `asterisk`.`cdr` WHERE `calldate` < '2015-12-31 23:59:59'
4) Экспортировать данные из CDR в cdr2016
INSERT INTO `asterisk`.`cdr2016` SELECT * FROM `asterisk`.`cdr` WHERE `calldate` < '2016-12-31 23:59:59'5) Удаляем по годам
2014
DELETE FROM `asterisk`.`cdr` WHERE `calldate` < '2014-12-31 23:59:59'
2015
DELETE FROM `asterisk`.`cdr` WHERE `calldate` < '2015-12-31 23:59:59'
2016
DELETE FROM `asterisk`.`cdr` WHERE `calldate` < '2016-12-31 23:59:59'
6) Оптимизировать таблицы
OPTIMIZE TABLE `cdr` , `cdr2014` , `cdr2015`, `cdr2016`
Комментариев нет:
Отправить комментарий