我是使用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. Aerospike - 更改存儲類型和大小
- 3. 數值類型和行大小在MySQL
- 4. PHP/MYSQL在數據庫中存儲大型數據集
- 5. 在單個更大的數據類型中存儲兩種數據類型
- 6. 如何記住.NET數據類型的存儲大小?
- 7. 用於在MySQL中存儲高精度小數的數據類型
- 8. mysql轉儲文件大小和數據庫大小的差異
- 9. 在MySQL中存儲大量數據?
- 10. MySQL位數據類型存儲空間
- 11. 數據類型存儲大量
- 12. 在java中存儲大數的id基本數據類型?
- 13. OSX和iOS數據類型的大小
- 14. Cassandra數據存儲大小
- 15. 將數組類型數據存儲在MYSQL表中
- 16. 什麼是在MySQL中存儲布爾值的數據類型?
- 17. 在mySQL中存儲日期的數據類型
- 18. 在MySQL中存儲時區偏移的數據類型/結構
- 19. MySQL NULL行存儲大小
- 20. mysql浮點存儲大小?
- 21. 在C中存儲數據類型
- 22. 存儲小數小數MySQL
- 23. PHP和MySQL在數據庫中存儲
- 24. Oracle數據類型和存儲
- 25. 性別存儲和數據類型
- 26. 用於存儲大型JSON的SQL Server數據庫中的數據類型
- 27. 在MySQL數據庫中存儲大量數據的問題
- 28. 在MySQL(5.6)數據庫中存儲json數組的數據類型
- 29. 槍數據庫存儲模型的大型集中存儲數據,微小的協作客戶
- 30. 在MySQL中存儲數據
謝謝Bill Karwin – Satya