我在使用blob存字符的时候因为数据太大使用COMPRESS()进行压缩,压缩后的一个字段显示大小是103bytes 我有96个字段。但是我看这个表的数据大小(就这一条记录)的时候有352kb的大小这是为什么啊? 求原因
你好楼主,这是正常的。
MySQL中存储Blob类型的数据时,会根据数据大小分配一个固定长度的内存块进行存储。如果存储的数据大于这个内存块的大小,MySQL就会自动把数据分割成多个内存块存储。所以实际存储的大小可能会比原始数据大小大。
另外,你使用了COMPRESS()函数进行压缩时,虽然压缩后的数据会变小,但是它在存储到数据库中时会被转换成二进制数据,其大小可能会比压缩前的数据还要大。所以压缩后的数据大小为103bytes,但在存储到数据库中时可能会变大。
最后,你提到这个表的数据大小为352kb,这个大小包括了表中所有记录的大小之和。可以使用SELECT LENGTH(blob_column) FROM table_name WHERE condition 来查询这条记录的blob类型字段的大小。
码字不易,望采纳!!!
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据,这个属于正常的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。