Nếu tài liệu XML được lưu trữ luôn nhỏ hơn 64 KiB (nghĩa là, AFAIK, giới hạn VARCHAR) thì ưu điểm và khuyết điểm của các loại cột VARCHAR và TEXT được sử dụng cho tác vụ này là gì?Ưu và nhược điểm của việc sử dụng VARCHAR vs TEXT để lưu trữ các tài liệu XML nhỏ trong MySQL là gì?
Ưu và nhược điểm của việc sử dụng VARCHAR vs TEXT để lưu trữ các tài liệu XML nhỏ trong MySQL là gì?
Trả lời
Các trích đoạn sau được trích xuất từ tài liệu MySQL liên quan đến string types.
"Chuỗi có độ dài thay đổi. M đại diện cho độ dài cột tối đa trong ký tự. Phạm vi của M là 0 đến 65,535. Độ dài tối đa hiệu dụng của VARCHAR phụ thuộc vào kích thước hàng tối đa (65,535 byte, được chia sẻ Ví dụ, các ký tự utf8 có thể yêu cầu tối đa ba byte cho mỗi ký tự, do đó, cột VARCHAR sử dụng bộ ký tự utf8 có thể được khai báo là tối đa 21.844 ký tự. , "Giới hạn số cột và giới hạn kích thước hàng" Bảng
Các cửa hàng MySQL Giá trị VARCHAR là tiền tố một byte hoặc hai byte cộng dữ liệu. Tiền tố chiều dài cho biết số byte trong giá trị. sử dụng một byte độ dài nếu các giá trị yêu cầu không quá 255 byte, hai byte độ dài nếu v alues có thể yêu cầu nhiều hơn 255 byte. "
Và TEXT
trích đoạn:
"Một cột TEXT với chiều dài tối đa 65.535 (216 - 1) nhân vật Độ dài tối đa hiệu quả là ít nếu giá trị chứa ký tự nhiều byte Mỗi giá trị TEXT được lưu trữ.. sử dụng tiền tố có độ dài hai byte cho biết số byte trong giá trị
Độ dài tùy chọn M có thể được cung cấp cho loại này.Nếu điều này được thực hiện, MySQL sẽ tạo cột là loại TEXT nhỏ nhất đủ lớn để giữ giá trị ký tự M dài. " Có vẻ như cả hai văn bản và varchar đều giống nhau trên bề mặt, trong đó chúng có cùng dung lượng lưu trữ cho chuỗi, nhưng sau một số nghiên cứu tiếp theo, tôi đã xem qua thread sau đây. trong việc xử lý các chỉ mục và tạo các bảng tạm thời, cả hai đều ảnh hưởng đến hiệu năng truy vấn.
Nếu bạn không có ý định thực hiện bất kỳ truy vấn nào đối với dữ liệu bạn đang lưu trữ, tôi khuyên bạn nên xem xét giải pháp NoSQL như MongoDB.
- 1. Ưu điểm và nhược điểm của việc lưu trữ tệp trong cơ sở dữ liệu là gì?
- 2. Ưu điểm và nhược điểm của json vs xml cho các yêu cầu ajax là gì?
- 3. Ưu điểm và nhược điểm của việc lưu trữ tĩnh trong ứng dụng ASP.NET MVC
- 4. Ưu và nhược điểm của việc cho phép Google lưu trữ jQuery cho tôi là gì?
- 5. Ưu điểm và nhược điểm của việc sử dụng Phonegap và Titanium là gì?
- 6. MySQL - TEXT vs CHAR và VARCHAR
- 7. Ưu và nhược điểm của việc sử dụng git-svn là gì?
- 8. Ưu điểm và nhược điểm của việc tự động hoá Excel sử dụng VBA vs .Net
- 9. Ưu điểm và nhược điểm của việc sử dụng sbt vs maven trong dự án Scala
- 10. Ưu điểm và nhược điểm của việc sử dụng boost :: iterator_facade là gì?
- 11. Ưu điểm và nhược điểm của việc sử dụng ARC là gì?
- 12. Ưu và nhược điểm của việc sử dụng configChanges = "orientation" cho thiết bị Android là gì?
- 13. Sử dụng WebServiceHostFactory Ưu và nhược điểm
- 14. Ưu điểm và nhược điểm của việc sử dụng XML để chuyển dữ liệu trong chương trình Java này là gì?
- 15. Ưu điểm/nhược điểm của việc sử dụng bộ ria mép với Backbone.js là gì?
- 16. Ưu điểm và nhược điểm: Jetbrains IntelliJ/Sublime Text
- 17. Ưu điểm và nhược điểm của việc sử dụng AngularJS + jQuery Mobile trong một dự án
- 18. sql động vs thủ tục được lưu trữ - ưu và nhược điểm?
- 19. Ưu điểm và nhược điểm để giữ mã và dữ liệu trong các kho lưu trữ riêng lẻ
- 20. Nhược điểm của việc sử dụng Basic4Android?
- 21. Ưu điểm và nhược điểm của NHibernate
- 22. Ưu và nhược điểm của việc sử dụng hai kiểu lập trình khác nhau của CGI.pm với Perl là gì?
- 23. Cây thiết bị là gì? Ưu điểm và nhược điểm?
- 24. Ưu điểm và nhược điểm của việc sử dụng gettext thay vì QObject.tr() để bản địa hóa ứng dụng PyQt4?
- 25. MySQL TEXT hoặc VARCHAR
- 26. Ưu điểm của việc sử dụng mối quan hệ một-một là gì? (MySQL)
- 27. Ưu điểm và nhược điểm của việc sử dụng các thành phần thiết kế Visual Studio cho dữ liệu
- 28. Ưu điểm của việc lưu trữ lệnh trong hệ thống CQRS/ES là gì?
- 29. Ưu điểm/nhược điểm của .NET 64 bit là gì?
- 30. Ưu điểm/nhược điểm của việc sử dụng SRVANY so với việc tạo một dịch vụ Windows là gì?
Không tăng tốc với MySQL nhưng kiểu dữ liệu TEXT đã trở nên lỗi thời trong SQL Server để ủng hộ VARCHAR (MAX). Một số hạn chế của kiểu dữ liệu TEXT mà nó không thể được lập chỉ mục, nó được lưu trữ ngoài trang và nó không thể được tìm kiếm với một điều kiện LIKE. –
Bạn có chắc chắn về "lỗi thời" @lieven không? Không có trường hợp nào phù hợp hơn VARCHAR? Trong trường hợp cụ thể của tôi, tôi sẽ thiết lập văn bản một lần và thỉnh thoảng nó (với một truy vấn riêng biệt, ít tham gia tìm kiếm một trường bằng một khóa đơn giản hơn nhiều), có lẽ không cần cập nhật cũng như không phân tích nó. – Ivan
Lưu ý rằng tôi đã nói cụ thể về 'SQL Server' nhưng tôi sẽ * tưởng tượng * MySQL đi cùng một tuyến đường một ngày nào đó. Đừng làm điều này như một lời khuyên chăn, tôi tò mò về những gì cộng đồng nói về nó và hy vọng ai đó có chuyên môn sẽ kêu vang. –