我試圖存儲什麼本質上是日誌數據在MySQL中 - 潛在大量的數據在未壓縮的形式(25GB +月)。mySQL存儲數據以壓縮格式
每行只包含兩列,一個日期時間列作爲主鍵,以及一個包含8k到16k之間未壓縮數據的data
列。
我試圖使用innoDB的ROW_FORMAT=compressed
,但它似乎沒有任何實際的影響數據庫的大小。使用我的示例數據,其0.53GB不使用壓縮行格式,但仍使用壓縮行格式0.53GB。
我檢查存儲的數據的大小,用下面的查詢(其在測試數據庫,所以我的測試表將永遠是「最大」):
SELECT CONCAT(table_schema, '.', table_name),
CONCAT(ROUND(table_rows/1000000, 2), 'M') rows,
CONCAT(ROUND(data_length/(1024 * 1024 * 1024), 2), 'G') DATA,
CONCAT(ROUND(index_length/(1024 * 1024 * 1024), 2), 'G') idx,
CONCAT(ROUND((data_length + index_length)/(1024 * 1024 * 1024), 2), 'G') total_size,
ROUND(index_length/data_length, 2) idxfrac
FROM information_schema.TABLES
ORDER BY data_length + index_length DESC
LIMIT 10;
您是否嘗試過通過查看mysqld服務器的文件系統所佔用的磁盤空間測量消耗?請記住,磁盤空間是迄今爲止服務器中最便宜的資產。 –