|
|
|
| Как может таблица весить 55 гигов...
На сервере балица занимает 55 гигов... за день +10гб
Файл battle.MYD (таблица называет battle) весит 55 гигов. (этот файл находится в папке var/lib/mysql/dbname)
Как можно чистить такую бд, учитывая что записи можно удалить только за предыдущий день.
А за день этот файл увеличитвается на 10 гигов примерно.
ЕСли сейчас нажать обзор и посмотреть содержимое той таблицы то там всего видно 100 листов по 30 записей на каждом. Она весит в phpmyadmin всего 6 метров, эта таблица. А на сервере файл с именем этой таблицы battle.MYD весит 10 гб.... Как такое может быть? | |
|
|
|
|
|
|
|
для: verg
(26.03.2011 в 10:48)
| | Перво-наперво проведите оптимизацию таблицы. Таблица может весить бесконечно много, так как место из под удаленных записей может не удаляться и таблица остается фрагментированной. Устранить эти дыры можно оптимизацией таблицы.
>А за день этот файл увеличитвается на 10 гигов примерно.
Что это за таблица? Какие данные в неё складируются.
>ЕСли сейчас нажать обзор и посмотреть содержимое той таблицы то там всего видно 100 листов
>по 30 записей на каждом.
phpMyAdmin пропускает часть страниц, посмотрите номер последней - какой он 30 или больше?
>Она весит в phpmyadmin всего 6 метров, эта таблица.
Посмотрите сколько занимают накладные данные? | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 10:58)
| | >Перво-наперво проведите оптимизацию таблицы. Таблица может весить бесконечно много, так как место из под удаленных записей может не удаляться и таблица остается фрагментированной. Устранить эти дыры можно оптимизацией таблицы.
>
А можно ли написать скрипт, для того чтоб место от удаленных записей удалялось... или что нужно сделать? Нужно фрагментировать таблицу? А как провести оптимизацию таблицы?
Вот так вот shell> myisamchk -r tbl_name или через OPTIMIZE TABLE?
>>А за день этот файл увеличитвается на 10 гигов примерно.
>Что это за таблица? Какие данные в неё складируются.
>
Таблица игры... там просто данные простые, текстовые.
>>ЕСли сейчас нажать обзор и посмотреть содержимое той таблицы то там всего видно 100 листов
>>по 30 записей на каждом.
>phpMyAdmin пропускает часть страниц, посмотрите номер последней - какой он 30 или больше?
>
126
>>Она весит в phpmyadmin всего 6 метров, эта таблица.
>Посмотрите сколько занимают накладные данные?
А как посмотреть это? | |
|
|
|
|
|
|
|
для: verg
(26.03.2011 в 11:11)
| | >А можно ли написать скрипт, для того чтоб место от удаленных записей удалялось... или что
>нужно сделать? Нужно фрагментировать таблицу?
Можно, но сначало нужно разобраться в этом ли дело.
>А как провести оптимизацию таблицы?
>Вот так вот shell> myisamchk -r tbl_name или через OPTIMIZE TABLE?
Да, или через phpMyAdmin в операциях или в списке таблиц (выбрать таблицу и соответствующее значение в выпадающем списке). | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 11:26)
| | Выполнил оптимизацию таблицы... размер её в phpmyadmin стал меньше на 4мб.
На диске размер так и остался.. в данный момент таблица, точнее тот файл весит 11гб... каждые 10 мин... на 100мб больще становится.
Как хотяб раз в день приводить размер данного файла к настоящим размерам таблица. Чтоб он весил хотя 10 мб... если таблица в phpmyaqmin весит всего 3 мб? А то 11 гб - это слишком. | |
|
|
|
|
|
|
|
для: verg
(26.03.2011 в 11:52)
| | А как данные в таблицу добавляются (INSERT, UPDATE)? Помоему что не нормальное происходит.
PS Какая версия MySQL используется?
PPS Если не сложно, выполните оператор SHOW STATUS TABLE по отношению к таблице - какой результат возвращается? | |
|
|
|
|
|
|
|
для: verg
(26.03.2011 в 11:11)
| | >126
Хм... т.е. у вас 3780 записей? Вообще-то не должно быть много данных, 6 Мб самое оно.
>>>Она весит в phpmyadmin всего 6 метров, эта таблица.
>>Посмотрите сколько занимают накладные данные?
>А как посмотреть это?
Откройте список таблиц базы данных и посмотрите столбец "Накладные расходы" - какие они у этой таблицы? | |
|
|
|