gpt4 book ai didi

mySQL以压缩格式存储数据

转载 作者:行者123 更新时间:2023-11-29 14:12:01 27 4
gpt4 key购买 nike

我正在尝试在 mySQL 中存储本质上是日志数据的内容——可能是未压缩形式的大量数据(每月 25GB 以上)。

每行仅包含两列,一个作为主键的日期时间列,以及一个包含 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;

最佳答案

ARCHIVE 存储引擎可以满足您的需求。它是一种特殊的引擎,以压缩的平面文件格式存储行。它最适合一次写入、不经常读取的情况,因为它没有索引。但它速度非常快,而且非常节省空间。

http://dev.mysql.com/doc/refman/5.5/en/archive-storage-engine.html

关于mySQL以压缩格式存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334009/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com