讓我們從概念上放下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