В MySQL что означает" накладные расходы", что в этом плохого и как это исправить?


простой вопрос, но он уже давно меня беспокоит....

Что такое "накладные расходы" в MySQL, и я должен беспокоиться?

щелчок "оптимизировать таблицу" исправляет это по-настоящему?

4 142

4 ответа:

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

вы можете сравнить "оптимизацию таблицы" с дефрагментацией вашего жесткого диска.

цитирую:

каждая база данных будет со временем, требуется ремонт в держите его на оптимальный производительность уровень. Очистка удаленных строк, переупорядочения, сжатие, управление указатели, Дефрагментация и т. д. есть что известно как оптимизация в mysql и другие термины в других базах данных. Например, IBM DB2 / 400 вызывает его РЕОРГАНИЗОВАТЬ ФИЗИЧЕСКИЙ ЭЛЕМЕНТ ФАЙЛА.

Это вроде как замена масла в ваш автомобиль или получение настройки. Вы можете думаю, что вы действительно не должны, но при этом ваш автомобиль работает намного лучше, вы лучше пробег газа и т. д. Машина что получает много пробега требует настройки чаще. Один база данных что получает интенсивное использование требует того же. Если вы делаете много обновлений и / или Удаление операций, и особенно если ваши таблицы имеют переменную длину столбцы (VARCHAR, текст и т. д.), Вам нужно чтобы держать ее настроил.

если вы говорите о том, что phpMyAdmin звонки overhead, то это фактический размер файла данных таблицы относительно идеального размера того же файла данных (как если бы он был восстановлен из резервной копии).

для повышения производительности MySQL не сжимает файлы данных после удаления или обновления строк.

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

вы может избавиться от overhead под управлением OPTIMIZE TABLE это будет компактировать вашу таблицу и индексы.

накладные расходы Data_free таблицы, то есть количество выделенных, но неиспользованных байтов. Мы можем найти его по команде SQL ПОКАЗАТЬ СОСТОЯНИЕ ТАБЛИЦЫ. Это свободное пространство в выделенном размере для вашей таблицы.

оптимизировать таблицу может быть очень проблематично. Например, если таблица сильно используется на сайте.

http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html

после удаления большой части таблицы MyISAM или архивной таблицы или внесения многих изменений в таблицу MyISAM или архивную таблицу со строками переменной длины (таблицы, содержащие столбцы VARCHAR, VARBINARY, BLOB или TEXT). Удаленные строки сохраняются в связанном списке и последующих операциях вставки повторное использование старых позиций строк.

Я считаю, что я подтвердил это поведение. И это, безусловно, было бы очень полезно.