Вход

Просмотр полной версии : Сжатие данных


lalala2
01.06.2010, 01:39
Есть у меня ролик, который записывает в mysql базу некий ряд чисел, каждое из которых имеет длину 6 цифр. В общем, ничего особенного, но по прошествии трех месяцев mysql база оказалась забита на 57 МБ. Для меня это очень много.

Вопрос: для оптимизации хотелось бы узнать объем(занимаемое на диске место) числа и его буквенного эквивалента. Когда-то слышал, что числа занимают меньший объем, нежели буквы, а символы (- = + .) занимают меньший объем, нежели цифры.

rainbowrussia
01.06.2010, 04:17
Тип поля в базе, хранящее эти шестизначные числа какое?

lalala2
01.06.2010, 04:41
Тип поля в базе, хранящее эти шестизначные числа какое?


int(6)

rainbowrussia
01.06.2010, 05:05
По идее INT должен занимать 4 байта, можно сэкономить заменив его на MEDIUMINT, который занимает 3 байта. Ваш алгоритм "ужимает" число тоже до 3х байт.
Посмотрите на индексы в базе, может быть есть лишние, не используемые индексы, они тоже место занимают.