如果要存儲的XML文檔始終小於64 KiB(即AFAIK,VARCHAR的限制),那麼可以使用VARCHAR和TEXT列類型的優缺點來完成此任務嗎?使用VARCHAR與TEXT在MySQL中存儲小型XML文檔有什麼優缺點?
5
A
回答
2
以下摘錄摘自與有關的MySQL文檔。 「
」一個可變長度字符串,M表示字符的最大列長度,M的範圍是0到65,535,VARCHAR的有效最大長度取決於最大行大小(65,535字節,它是共享的例如,utf8字符每個字符最多需要三個字節,所以使用utf8字符集的VARCHAR列最多可以聲明爲21,844個字符,參見E.10.4節,「表列數和行大小限制」
MySQL將VARCHAR值存儲爲一個字節或兩個字節長度的前綴加數據,長度前綴表示該值中的字節數VARCHAR列如果值不超過255個字節則使用一個長度字節,如果是v則使用兩個長度字節線索可能需要超過255個字節。「
而TEXT
摘錄:
「一文柱,以65535(216 - 1)的最大長度的字符的有效最大長度小於如果值包含多字節字符每個文本值被存儲。使用一個長度爲2字節的前綴表示數值中的字節數
可以給這個類型一個可選的長度M如果這樣做了,MySQL創建列作爲最小的TEXT類型足夠大以容納值M個字符長。「
似乎text和varchar在表面上是相同的,因爲它們具有相同的字符串存儲容量,但經過一些進一步的研究後,我遇到了以下thread,這表明MySQL處理兩個列的方式不同在處理索引和創建臨時表時,這兩者都會影響查詢性能。
如果您不打算對存儲的數據進行任何查詢,我建議您考慮一下NoSQL解決方案,如MongoDB。
相關問題
- 1. 使用Maven有什麼優點/缺點?
- 2. 在數據庫中存儲文件有什麼優點和缺點?
- 3. MySQL存檔存儲引擎的優缺點?
- 4. 使用過渡文檔類型有什麼缺點?
- 5. Backbone.js使用小鬍子有什麼優點/缺點?
- 6. 使用git-svn有什麼優缺點?
- 7. 什麼是使用大型CSS文件的優點和缺點?
- 8. 爲什麼我會在MySQL的TEXT中使用VARCHAR?
- 9. 在SQL和Java中編寫DB2存儲過程有什麼優點和缺點?
- 10. 使用XML模式的優點和缺點是什麼?
- 11. 使用緩存控制有什麼缺點:無存儲?
- 12. 在Symfony中使用存儲過程 - 優點和缺點
- 13. 在cassandra中將json作爲文本vs blob存儲的優缺點是什麼?
- 14. has_many和has_one,有什麼優點/缺點?
- 15. py2exe有什麼優點/缺點
- 16. varchar vs text - MySQL
- 17. MySQL TEXT或VARCHAR
- 18. XML與RDMS相比的優點/缺點
- 19. 使用Meteor-Roles有什麼優點和缺點?
- 20. 使用`select table_name。*`有什麼優點和缺點?
- 21. 使用Castle Active Record vs Straight NHibernate有什麼優點和缺點?
- 22. 使用數據服務層有什麼優點和缺點?
- 23. 使用IOC容器有什麼優點和缺點?
- 24. 使用Docker Vs Vanilla LXC有什麼優點和缺點?
- 25. 使用D指針有什麼優點和缺點?
- 26. 使用JUnits在DVS上測試ILOG JRules有什麼優缺點?
- 27. 優點和缺點:Jetbrains IntelliJ/Sublime Text
- 28. 長與Guid的Id(實體),有什麼優點和缺點
- 29. varchar和text有什麼區別?
- 30. 在Mac應用程序中使用Swift有什麼優點和缺點?
與MySQL無法合作,但TEXT數據類型已經在SQL Server中變得過時了,並且支持VARCHAR(MAX)。 TEXT數據類型的一些缺點,它不能被索引,它被存儲在頁面外,並且不能用LIKE條件搜索。 – 2011-12-22 23:38:31
你確定「陳舊」@lieven?是不是有比VARCHAR更適合的情況?在我的特殊情況下,我將設置文本一次並偶爾使用它(通過單獨的無連接查詢以更簡單的鍵查找字段),可能既不需要更新也不需要分析它。 – Ivan 2011-12-22 23:51:38
請注意,我正在專門討論'SQL Server',但我會想象* MySQL有一天會走相同的路線。不要把它當作一攬子建議,我很好奇社區對此有什麼看法,並希望有專業知識的人可以參加。 – 2011-12-22 23:54:17