我在使用blob存字符的时候因为数据太大使用COMPRESS()进行压缩,压缩后的一个字段显示大小是103bytes 我有96个字段。但是我看这个表的数据大小(就这一条记录)的时候有352kb的大小这是为什么啊? 求原因
mysql储存blob大小和实际的不一样[阿里云数据库MySQL版]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
我在使用blob存字符的时候因为数据太大使用COMPRESS()进行压缩,压缩后的一个字段显示大小是103bytes 我有96个字段。但是我看这个表的数据大小(就这一条记录)的时候有352kb的大小这是为什么啊? 求原因
你好楼主,这是正常的。
MySQL中存储Blob类型的数据时,会根据数据大小分配一个固定长度的内存块进行存储。如果存储的数据大于这个内存块的大小,MySQL就会自动把数据分割成多个内存块存储。所以实际存储的大小可能会比原始数据大小大。
另外,你使用了COMPRESS()函数进行压缩时,虽然压缩后的数据会变小,但是它在存储到数据库中时会被转换成二进制数据,其大小可能会比压缩前的数据还要大。所以压缩后的数据大小为103bytes,但在存储到数据库中时可能会变大。
最后,你提到这个表的数据大小为352kb,这个大小包括了表中所有记录的大小之和。可以使用SELECT LENGTH(blob_column) FROM table_name WHERE condition 来查询这条记录的blob类型字段的大小。
码字不易,望采纳!!!
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据,这个属于正常的