Какой лучший способ сжать дату? - PullRequest
3 голосов
/ 30 марта 2011

моему сайту необходимо хранить ip и временную метку каждого посещения mysql.Я обеспокоен тем, что очень быстро у меня будет 1e6 строк в моей базе данных.

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

Обновление: извините, я имел в виду мил в день.но я думаю, что это все еще крошечный.

Ответы [ 3 ]

2 голосов
/ 30 марта 2011

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

DATE: A three-byte integer packed as DD + MM×32 + YYYY×16×32 

Другими словами, на уровне битов (на основе диапазона 1000-01-01 thru 9999-12-31):

00000yyy yyyyyyym mmmddddd
1 голос
/ 30 марта 2011

Отметка времени mysql будет составлять всего 4 байта. Целое число, представляющее метку времени, будет таким же. Было бы целесообразно сохранить его как тип mysql, поскольку вы сможете эффективно индексировать и / или запрашивать на основе этого столбца.

Любая «сжатая» форма, не являющаяся типом mysql, будет неэффективна для запроса.

1 голос
/ 30 марта 2011

Используйте встроенный в MySQL тип datetime.Миллион строк не так много.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...