SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.09.2012 11:27:03

Gloft
Участник
Зарегистрирован: 16.03.2008
Сообщений: 3

размер файлов .idb после переноса БД

Для модификации структуры БД, была необходимость пересоздать БД.
Действовал следующим способом:
- создал полную копию текущей БД методом

CREATE TABLE nameDBold.table SELECT * FROM nameDB.table

- пересоздал БД nameDB с новой структурой без данных.
- скопировал данные со старой базы, там где это возможно методом
ISERT INTO nameDB.table SELECT * FROM nameDBold.table

- скриптом перенёс данные со старойБД в новую там где изменилась структура

Все прошло успешно. но заметил что размер файлов ibd изменился хотя судя по содержанию таблиц все на месте.
Размер отличается очень сильно.
Например размер таблицы (файл .ibd) где хранились файлы (поле BLOB) в старой версии был порядка 500Мб, а в новой порядка 100Мб.

Такое может быть, или данные были потеряны при переносе?

Неактивен

 

#2 03.09.2012 13:02:38

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3879

Re: размер файлов .idb после переноса БД

Файлы InnoDB никогда не уменьшаются в размере, поэтому если таблица использовалась для вставки/удаления, файл мог разбухнуть (и содержать достаточное количество свободного места с точки зрения InnoDB).

Неактивен

 

#3 03.09.2012 13:10:17

Gloft
Участник
Зарегистрирован: 16.03.2008
Сообщений: 3

Re: размер файлов .idb после переноса БД

Возможно ли проводить какие-либо профилактические работы для сжатия/уменьшения/отчисти файлов ibd?

Неактивен

 

#4 03.09.2012 13:13:42

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3879

Re: размер файлов .idb после переноса БД

Можно сделать
ALTER TABLE `mytable` ENGINE=INNODB;

Это сожмет ibd-файл. Обычно это делать необязательно, так как свободное место внутри файла будет использоваться для последующих вставок.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson