Forum Webscript.Ru

Общие => Базы данных => Тема начата: Foshvad от 04 Января 2002, 02:29:12

Название: от чего БД в размерах меняются? :)
Отправлено: Foshvad от 04 Января 2002, 02:29:12
Надо было создать копию базы с другим именем. Сделал DAMP, загрузил в вновь созданную базу и
с удивлением обнаружл, что она стала занимать на 9% меньше....
Количество записей то же, индексы те же. От чего же это?
Я понимаю, что здесь простое объяснение, но какое? :)
Название: от чего БД в размерах меняются? :)
Отправлено: Stek от 04 Января 2002, 03:21:53
Способ хранения, удаления, записи новой информации - это причина.
Название: от чего БД в размерах меняются? :)
Отправлено: Foshvad от 04 Января 2002, 03:35:26
Все равно не понятно. Была база. Сделали ТОЧНУЮ копию. Почему же она размер изменила? Информацию ведь новую никто не записывал
Название: от чего БД в размерах меняются? :)
Отправлено: Stek от 04 Января 2002, 04:45:56
Один из моих постингов:

--------------------
На сколько я понимаю, у разных баз своя структура хранения информации.  
 
К примеру имеем таблицу из 1000 записей, потом 10 удаляем и вставляем новые 10.  
 
Что происходит...
 
MySQL  ничего не удаляет, он просто помечает записи как удаленные. При вставке новых он перезаписывает те записи, у которых пометка "удалены"
 
Postgres так же ничего не удаляет, а просто помечает как удаленные. При вставке новых он уже вставляет новые, т.е. таблица начинает содержать пустую информацию. Если я не ошибаюсь, это и есть вакуум.
 
Вообще это сложно, понять как там базы работают. Но такие фишки делаются для ускорения работы баз.

--------------------

Весь тред http://forum.ru-board.com/topic.cgi?forum=23&topic=0008#1
Название: от чего БД в размерах меняются? :)
Отправлено: NAS от 04 Января 2002, 09:36:54
Foshvad

Этого же эффекта можно добиться командой
OPTIMIZE TABLE