我的網站需要存儲每次訪問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