我是使用mysql数据库的begginer。我试图将用户数据保存在一个大的Json文件中,在最坏的情况下,它的大小约为5Mb,显然我应该使用LARGE TEXT,但我想知道11Mb其余部分会发生什么。它被浪费了吗?在mysql中的数据类型大小和存储
1
A
回答
1
不,MySQL只根据具体情况存储您需要的数据。也就是说,如果你的JSON在一行上是5MB,你需要使用MEDIUMTEXT,但它只能存储5MB,而不是16MB。如果JSON在下一行只有42KB,那只会存储42KB。这是可变的存储。
嗯,空间有一点“四舍五入”,因为整个16KB页面中的空间分配高达半个MB,然后BLOB/TEXT文档一次占用1MB一半以上的MB空间。但我不担心这一点。
MySQL中的所有可变长度数据类型都以这种方式工作。 VARCHAR,VARBINARY,TEXT,BLOB以及所有不同类型的TEXT和BLOB。
即使您不需要它,CHAR和BINARY也会存储全长。所以当你所有的字符串长度相同时,最好使用这些类型。
1
对于数据类型存储InnoDB的数据库,你可以参考寿这个MySQL文档链接 https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html 本质上,你可以存储数据与这些维 假设L是你的领域/文件尺寸
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
+0
如果有一天有机会超过11MB,那么你可以把它做成'LONGTEXT'。 –
相关问题
- 1. 在MySQL中存储动态数据和数据类型
- 2. 数值类型和行大小在MySQL
- 3. 如何记住.NET数据类型的存储大小?
- 4. 在MySQL中存储大量数据?
- 5. MySQL位数据类型存储空间
- 6. OSX和iOS数据类型的大小
- 7. 什么是在MySQL中存储布尔值的数据类型?
- 8. 在MySQL中存储时区偏移的数据类型/结构
- 9. MySQL NULL行存储大小
- 10. 在C中存储数据类型
- 11. PHP和MySQL在数据库中存储
- 12. 在MySQL(5.6)数据库中存储json数组的数据类型
- 13. 枪数据库存储模型的大型集中存储数据,微小的协作客户
- 14. 在MySQL中存储数据
- 15. 不同的数据存储大小和数据配额
- 16. mysql数据类型只存储月份和年份
- 17. 数据库数据类型大小
- 18. 使用MySQL和PHP将数据存储在MySQL数据库中
- 19. 用于存储小数的MySQL字段类型
- 20. MySQL数据库:如何存储不同大小的产品?
- 21. Android中的字节数据类型内存大小
- 22. 在mysql数据库中哪个表存储为MyISAM类型,哪个表存储为InnoDB类型?为什么?
- 23. 数据类型使用存储在SQL
- 24. 这是C语言中最大的数据类型来存储大数值吗?
- 25. 如何在C++中读取特定大小和存储未知类型的数据?
- 26. PHP MySql 24小时存储数据
- 27. Linux的数据模型和原始类型大小
- 28. C中数据类型的最小值和最大值
- 29. MySQL中的PHP和JSON数据类型
- 30. 在小型webapp中存储会话中的数据库连接
谢谢Bill Karwin – Satya