我的网站需要存储每次访问mysql的ip和时间戳。我担心很快我会在我的数据库中有1e6行。什么是压缩日期的最佳方式?
在mysql或java上压缩日期的最佳方式是什么? mysql是否已经压缩日期?理想情况下,我想快速解压缩日期值以生成报告。
更新:对不起,我的意思是每天有一个密尔。但我想这还是微不足道的。
我的网站需要存储每次访问mysql的ip和时间戳。我担心很快我会在我的数据库中有1e6行。什么是压缩日期的最佳方式?
在mysql或java上压缩日期的最佳方式是什么? mysql是否已经压缩日期?理想情况下,我想快速解压缩日期值以生成报告。
更新:对不起,我的意思是每天有一个密尔。但我想这还是微不足道的。
大副,百万行是微小数据库。我不会担心太多。在任何情况下,MySQL使用一个相当压缩格式(3个字节)反正按this page:
DATE: A three-byte integer packed as DD + MM×32 + YYYY×16×32
换句话说,在比特级别(基于1000-01-01 thru 9999-12-31
范围):
00000yyy yyyyyyym mmmddddd
100万行= 3MB左右(数据碎片等) – 2011-03-30 04:30:03
@Yanick - 为每个IP地址添加一个额外的4字节值。但是,按照今天的标准,这是一个很小的存储量。 – 2011-03-30 04:34:21
一个MySQL时间戳将只有4个字节。表示时间戳的整数将是相同的。因为您可以高效地基于该列进行索引和/或查询,所以将其保存为mysql类型会很有效。
任何“压缩”形式不是mysql类型将是低效的查询。
日期的大小是每天记录的数量最少的存储问题。 – Wes 2011-03-30 05:03:23