2015-05-16 26 views
1

我正在開發一個包含日誌歷史記錄的系統。日誌歷史記錄是每個用戶採取行動的記錄。有人建議我每年都要壓縮數據,因爲數據庫預計會增長,所以我可以節省空間。我有這張表:如何使用php codeigniter和mysql壓縮數據

delimiter $$ 

CREATE TABLE `actionhistory` (
    `historyID` int(11) NOT NULL AUTO_INCREMENT, 
    `empID` int(11) NOT NULL, 
    `item` varchar(50) NOT NULL, 
    `actionTaken` varchar(15) NOT NULL, 
    `type` varchar(15) NOT NULL, 
    `dateActTaken` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`historyID`), 
    KEY `emp` (`empID`) 
) ENGINE=InnoDB AUTO_INCREMENT=429 DEFAULT CHARSET=latin1$$ 

這樣做的語法是什麼?無論每年有多少行,我都希望每年都這樣做。

編輯:我已閱讀有關使用ROW_FORMAT, KEY_BLOCK_SIZE,但由於每年的行不是恆定的,我沒有使用它。

+0

你是什麼意思通過壓縮?將其保存爲文本文件,壓縮它? –

+0

我想壓縮它.. –

回答

0

你必須拿出Year(Y)表單字段dateActTaken來標識哪一年是它。一旦你有一年,那麼你可以獲取屬於那一年的所有記錄。

就壓縮而言,您可以將其壓縮到zip文件中,也可以將年度數據保存在其他採礦數據庫中。

+0

這樣做的語法是什麼?我的意思是,我可以拿出一年的領域,並取得它,但我不知道如何壓縮它.. –

+0

在csv文件中寫入記錄http://php.net/manual/en/function.fputcsv。 php,http://davidwalsh.name/create-zip-php –