Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Зачем нужен оператор OPTIMIZE TABLE?
 
 автор: serjinio   (24.09.2008 в 00:28)   письмо автору
 
 

Зачем и в каких случаях надо применять?????

  Ответить  
 
 автор: serjinio   (26.09.2008 в 07:39)   письмо автору
 
   для: serjinio   (24.09.2008 в 00:28)
 

такое ощущение что никто это не применяет в реальных проектах......

  Ответить  
 
 автор: cheops   (26.09.2008 в 09:51)   письмо автору
 
   для: serjinio   (24.09.2008 в 00:28)
 

Когда удаляются или обновляются данные, таблица фрагментируются - образуются пустоты, в которые потом могут записываться данные. В любом случае в теле файла таблицы остаются участки не заполненные никакими данными. Поэтому реальный размер, который таблица занимает на диске может быть больше полезного объема. Для дефргаментирования используется оптимизация. Кроме того, в результате различных сбоев может нарушаться структура индексов и вообще таблицы - оптимизация позволяет "починить" незначительные нарушения (постоянная починка таблицы в автоматическом режиме слишком бы замедляла работу СУБД).

  Ответить  
 
 автор: serjinio   (26.09.2008 в 14:14)   письмо автору
 
   для: cheops   (26.09.2008 в 09:51)
 

Большое спасибо за ответ, а как часто надо производить данную процедуру ?
И такой вопрос в автоинкрементном поле с первичным ключом допустим( ID ) есть всего три записи ID =1 и ID=111 и ID= 123456789
а все что между ними были удалены ...каким способом можно нормализовать этот столбец, чтобы стало ID =1 и ID=2 ID =3

  Ответить  
 
 автор: cheops   (26.09.2008 в 14:55)   письмо автору
 
   для: serjinio   (26.09.2008 в 14:14)
 

Хм... собственно, если вы удалили мегабайт 40 из таблицы, стоит провести - скорее всего все будет работать шустрее. Если вы видите, что слетел индекс - тоже имеет смысл выполнить операцию. Обычно советуют проводить её не чаще раз в сутки.

С инкрементным полем автоматическими средствами ничего не сделать - его задача поставка уникальных индексов, а не разрывных.

  Ответить  
 
 автор: а-я   (27.09.2008 в 01:54)   письмо автору
 
   для: cheops   (26.09.2008 в 14:55)
 

А если таблица фиксированная? Стоит ли делать?
И почему для таблиц MEMORY оптимизация не работает.
Хотя и показывает расход памяти (Фрагментировано) работает только FLUSH

  Ответить  
 
 автор: cheops   (27.09.2008 в 12:09)   письмо автору
 
   для: а-я   (27.09.2008 в 01:54)
 

>А если таблица фиксированная? Стоит ли делать?
А что под фиксированной таблицей имеется в виду?

>И почему для таблиц MEMORY оптимизация не работает.
>Хотя и показывает расход памяти (Фрагментировано) работает только FLUSH
В этом типе данных много что не реализовано - он ориентирован на максимально-возможную быструю работу и в качестве таблицы для длительного хранения данных не рассматривается.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования