[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оптимизация таблиц MySQL
vadimk
Когда нужно проводить оптимизацию таблиц MySQL (OPTIMIZE TABLE)? (вручную или всегда после удаления/изменения записей?)
От чего зависит время, требуемое для оптимизации?
Valick
vadimk, оптимизацию необходимо проводить на финальной стадии проектировки БД
удаление / изменение записей - это не повод для "секса"


_____________
Стимулятор ~yoomoney - 41001303250491
vadimk
Цитата (Valick @ 18.03.2013 - 21:53)
vadimk, оптимизацию необходимо проводить на финальной стадии проектировки БД
удаление / изменение записей - это не повод для "секса"

Имеется ввиду команда OPTIMIZE TABLE
Valick
Команда OPTIMIZE TABLE должна использоваться после удаления большей части таблицы или если в таблице было внесено много изменений в строки переменной длины (таблицы, в которых есть столбцы VARCHAR, BLOB или TEXT). Удаленные записи поддерживаются при помощи связного списка, и последующие операции INSERT повторно используют позиции старых записей. Чтобы перераспределить неиспользуемое пространство и дефрагментировать файл данных, можно воспользоваться командой OPTIMIZE TABLE

_____________
Стимулятор ~yoomoney - 41001303250491
vadimk
Цитата (Valick @ 18.03.2013 - 22:01)
Команда OPTIMIZE TABLE должна использоваться после удаления большей части таблицы или если в таблице было внесено много изменений в строки переменной длины (таблицы, в которых есть столбцы VARCHAR, BLOB или TEXT). Удаленные записи поддерживаются при помощи связного списка, и последующие операции INSERT повторно используют позиции старых записей. Чтобы перераспределить неиспользуемое пространство и дефрагментировать файл данных, можно воспользоваться командой OPTIMIZE TABLE

Можно ли команду выполнять после каждого удаления/изменения записи в таких таблицах? не будет ли она занимать много времени, если была изменена только 1 запись после последней оптимизации?

Вариант оптимизировать вручную при необходимости не подходит т.к. редактировать и удалять записи будет обычный пользователь через админку
Valick
а вы мусор вместе с мусорным ведром выбрасываете? и каждый раз покупаете новое мусорное ведро?
Цитата
не будет ли она занимать много времени

зависит от размера таблицы, чем больше тем дольше, но на время оптимизации таблица будет заблокирована.
Цитата
Можно ли команду выполнять после каждого удаления/изменения записи в таких таблицах?

можно... но ненужно
если у вас запросы имеют адекватное время выполнения, то нефиг заморачиваться ...
Цитата
Вариант оптимизировать вручную при необходимости не подходит

сдается мне вы плохо представляете себе что такое оптимизация

_____________
Стимулятор ~yoomoney - 41001303250491
vadimk
Цитата (Valick @ 18.03.2013 - 22:27)
...

Нужно ли предусматривать возможность автоматического запуска оптимизации таблиц и при каком условии?
rooor
а что, трудно сделать кнопку в админке и тыкать её раз в неделю, например?)
Valick
vadimk, сколько записей в вашей БД? каково время выполнения самого медленного запроса?


_____________
Стимулятор ~yoomoney - 41001303250491
vadimk
Цитата (Valick @ 18.03.2013 - 22:48)
vadimk, сколько записей в вашей БД? каково время выполнения самого медленного запроса?

16 тыс. записей. Проблем с временем выполнения пока не было
Valick
vadimk, предлагаю дождаться проблем, а пока спать спокойно и не забивать голову smile.gif


_____________
Стимулятор ~yoomoney - 41001303250491
vadimk
Цитата (Valick @ 18.03.2013 - 23:16)
vadimk, предлагаю дождаться проблем, а пока спать спокойно и не забивать голову smile.gif

Хорошо, спасибо за консультацию
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.