Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> InnoDB движок, вопросы 
:(
    Опции темы
CrackedMind
Дата 4.3.2006, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 6.2.2006

Репутация: нет
Всего: нет



При использовании InnoDB "движка" появились некоторые вопросы...
Удаляю я все записи из таблицы, размер файла данных таблицы остается прежним, уменьшить его размеры помогают либо ALTER TABLE либо OPTIMIZE TABLE? Почему такое происходит?
PM MAIL   Вверх
Kesh
Дата 4.3.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



CrackedMind, потому что при этих командах происходит перезапись структуры файла... Соответственно переписывается и сам файл полностью... Попробуй еще TRUNCATE - по идее тоже должен изменять... Все остальные команды инициируют записи в свободное место в файле... Это аналогично занятому месту на жестком диске... Т.е. есть некоторый объем, в который записываются данные, они записываются не последовательно, а в свободное место по всему файлу... Даже так..
Удаленные записи физически не уничтожаются, просто стираются ссылки на них... А новые записи добавляются в конец...

Если слишком сумбурно рассказал - пиши, попробую поподробнее...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
CrackedMind
Дата 4.3.2006, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 6.2.2006

Репутация: нет
Всего: нет



ну ведь для MyISAM при DELETE запись физически удаляется, я знаю что при DELETE записи помечаются как удаленные и нужно делать commit; (вроде так smile)
Код

mysql> delete from main;
Query OK, 68973 rows affected (4.75 sec)

mysql> truncate main;
Query OK, 67444 rows affected (0.16 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)


файлик как был 18 мб так и остался Ж), повторюсь для MyISAM все нормально физически удаляется

з.ы. версия MySQL == 5.0.16-nt
PM MAIL   Вверх
Kesh
Дата 5.3.2006, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



CrackedMind, для InnoDB записи физически не удаляются... Как ты правиль и сказал
Цитата(CrackedMind @ 4.3.2006, 23:00 Найти цитируемый пост)
я знаю что при DELETE записи помечаются как удаленные
Только из самого файла они не стираются... Как с файловой системой... Ты файл удаляешь, он не стирается с диска, но и тебе уже не виден...



--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
CrackedMind
Дата 5.3.2006, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 6.2.2006

Репутация: нет
Всего: нет



так почему для InnoDB не удаляются, а для MyISAM удаляются? Какая то особенность?


PM MAIL   Вверх
Kesh
Дата 5.3.2006, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



CrackedMind, угу... Работают по разному... InnoDB поддерживает транзакции... Кстати, у Oracle тоже в одном файле хранится вся информация, и размер файла тоже не меняется, пока его не забьешь...
Добавлено @ 16:25
Вот здесь описание MyISAM http://www.mysql.ru/docs/man/MyISAM.html
А здесь - InnoDB http://www.mysql.ru/docs/man/InnoDB.html


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0793 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.