MySQL-数据库的压缩

MySQL-数据库的压缩

偏爱自由 发布于 2017-06-12 字数 736 浏览 1311 回复 2

了解到数据库压缩技术,基本原理是如果内容有重复的会用一个符号替代。

举例来说,如果数据中重复出现了“我们”这个字符串,那么它就会被识别为一个模式,然后所有这个字符串出现的地方都会被一个对应的符号代替,比如说数字1。

如果内容中有很多个“我们”这样的字符,那么压缩的效果更是显而易见。

但是这样一来,这个压缩对应的符号是不是该有点讲究?以免跟正常的内容冲突?比如上面我们把“我们”这个词压缩成了1,那如果刚好内容里也有1呢?

压缩会不会反而变成负担?查询和更新都要去反压缩,而且对应的映射关系的存储会消耗CPU,会不会反而延长了数据查询的执行时间?

请大家各抒己见,如有相关实践经验分享更佳。如果有关于mysql的这方面的就更好了。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜柠檬 2017-09-30 2 楼

对于数据库压缩,在早期应该是比较有用,但是对于现在硬盘已经很廉价了,对于存储空间已经不需要怎么考虑了,数据库的压缩也只有在需要将数据库文件导出来做为数据传输,比如:从一个库导到另一个库的时候,这时候才会考虑到库的压缩。所以就不存在查询量大的问题。而在日常使用中,不建议将数据库进行压缩。现在对于查询来说更注重以空间换时间。

而对于压缩来说肯定是会消耗CPU的,因为需要对压缩与反压缩进行映射的计算。而对于压缩的算法有很多现成的技术可以参考。

想挽留 2017-07-25 1 楼

压缩肯定会对查询性能产生影响,主要考虑两方面存储和查询效率,压缩省了空间,但降低了效率,所以要根据需要综合权衡作出选择,对于经常查询的数据,不建议进行压缩,而对长期不使用的冷数据可以进行压缩。参考:mysql的数据压缩性能对比(一) mysql数据压缩性能对比(二)