首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql中的数据类型大小和存储

mysql中的数据类型大小和存储
EN

Stack Overflow用户
提问于 2017-09-04 05:24:41
回答 2查看 147关注 0票数 1

我是一个使用mysql数据库的乞丐。我试图将用户数据保存在一个大Json文件中,在最坏的情况下,该文件的大小大约为5Mb --显然我应该使用大文本,但我想知道11 5Mb的其余部分发生了什么。浪费了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-04 06:25:22

不,MySQL只按案例存储所需的数据。也就是说,如果JSON在一行上是5MB,则需要使用MEDIUMTEXT,但它只存储5MB,而不是存储16 5MB。如果下一行的JSON仅为42 is,则只存储42 is。这是可变存储器。

嗯,这里有一些“四舍五入”的空间,因为在整个16 MB的页面中分配的空间高达半MB,然后每次为BLOB/TEXT文档分配超过半MB的空间。但我不担心这个。

MySQL中的所有可变长度数据类型都是这样工作的。VARCHAR,VARBINARY,TEXT,BLOB,以及所有不同类型的文本和BLOB。

只有CHAR和二进制存储完整的长度,即使你不需要它。因此,当所有字符串长度相同时,最好使用这些类型。

票数 1
EN

Stack Overflow用户

发布于 2017-09-04 06:11:55

对于INNODB数据库中的数据类型存储,您可以参考mysql文档链接https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html,本质上您可以使用这些维度存储数据,假设L是您的字段/文件维度。

代码语言:javascript
复制
TINYBLOB, TINYTEXT    L < 2^8 ( 2^8 - 1 byte)
BLOB, TEXT            L < 2^16 ( 2^16 - 2 bytes)
MEDIUMBLOB, MEDIUMTEXT   L < 2^24 (2^24 -3 bytes)
LONGBLOB, LONGTEXT    L < 2^32 (2^32 - 4 bytes)

因此,对于11 MB文件,您可以再次使用MEDIUMTEXT。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46030716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档