让我们从概念上放下null和空字符串的含义,我想知道哪些在存储方面是有利的。null和空字符串数据库的存储要求之间的区别
-1
A
回答
0
可以包含NULL值的列通常每行使用一个额外的位来标记它是否为NULL。这可能取决于数据库系统;例如,SQLite对每个值都有数据类型,所以null值与更基本级别的字符串值不同。
对于MySQL,在手册中考虑this:
动态大小的行预期行长度用 以下公式计算:
3 + (number of columns + 7)/8 + (number of char columns) + (packed size of numeric columns) + (length of strings) + (number of NULL columns + 7)/8
+0
但是,为了存储大多数是char或varchar的字符串,我们在行存储数据库中有一些开销。你在推理中考虑过吗? –
+0
如果它是一个VARCHAR,你可能需要一个或两个字节来告诉这个值的大小。 *除此之外,你需要一点来判断它是否为NULL。你是正确的,应该可以只保存这些列的NULL位并跳过字符串长度字节,但我不知道最常见的方式。对于固定长度的行(就像在一些MyISAM表中),你真的需要额外的一点。 –
相关问题
- 1. null和空(“”)Java字符串之间的区别
- 2. 空字符串和空字符串之间的区别
- 3. @string和@ +字符串之间的区别?
- 4. 字符串和AttributedString之间的区别
- 5. 数据存储和托管存储之间的区别?
- 6. Java字符串:null与空的区别
- 7. String.getBytes()和Bytes.toBytes之间的区别(字符串数据)
- 8. 字符串插值和字符串串联之间的区别
- 9. null == x和x == null之间的区别?
- 10. PHP中NULL和null之间的区别
- 11. 字符串[]和[字符串]之间的区别
- 12. 声明字符串和分配字符串之间的区别
- 13. 字符串和字符串C之间的区别#
- 14. std :: string,字符串val和字符串之间的区别val =“”
- 15. “\(字符串)”和字符串之间的区别?
- 16. 返回空值与空字符串之间的区别?
- 17. API响应:字符串和数字类型之间的区别
- 18. 字符串之间的区别
- 19. dropbox,插入和数据存储之间的区别是什么
- 20. 类型和类之间的数据存储区别
- 21. 数据存储类别与字符串:有什么区别?
- 22. 字符串X,Y之间的区别;和字符串X,字符串Y;
- 23. 检查空字符串的两种方法之间的区别
- 24. Alfresco:存储库和我的文件之间的区别
- 25. jquery.clone()和字符串的简单串联之间的区别
- 26. 在java中的子串和字符串之间的区别
- 27. Pattern.quote()和它的字符串串联等效之间的区别?
- 28. “数据库还原”和“数据库部署”之间的区别?
- 29. 压缩数据库和SQL Server数据库之间的区别
- 30. != null和!== null之间有什么区别?
我在mysql中最感兴趣但一般概述也很好。 –
谢谢,我会的。我只是想知道它是什么 –
我的意思是其他问题,所以它会帮助社区。 – Win