Tôi đang tạo CMS tùy chỉnh cho trang web của mình và tôi sẽ lưu trữ các bài viết (Văn bản và hình ảnh trên mỗi bài viết) trong cơ sở dữ liệu mysql. datatype nào phù hợp nhất cho nhiệm vụ đó?Kiểu dữ liệu nào là tốt nhất để lưu trữ các bài viết trong cơ sở dữ liệu SQL?
Trả lời
Bạn không nên cố gắng để lưu trữ văn bản và hình ảnh trong một lĩnh vực duy nhất, và trong trường hợp này có lẽ bạn không nên lưu trữ hình ảnh trong cơ sở dữ liệu của bạn ở tất cả.
Giải pháp tốt nhất cho việc này là sử dụng một số loại hệ thống đánh dấu trong bài viết của bạn - tại đây đơn giản nhất có thể là tập hợp con đã lọc html - được lưu trữ dưới dạng văn bản thuần túy trong cơ sở dữ liệu của bạn và sau đó được phân tích cú pháp trong trình duyệt một số cách. Rõ ràng nếu bạn sử dụng html được lọc, bạn sẽ không cần phải viết bất kỳ mã đặc biệt nào để phân tích nó, nhưng việc sử dụng phương pháp này làm tăng các vấn đề bảo mật có thể xảy ra.
Các tùy chọn khác để điều tra bao gồm Markdown (hệ thống được sử dụng bởi trang web này) cũng như BBCode (chủ yếu được sử dụng bởi các diễn đàn trực tuyến), cũng như nhiều người khác.
Để tóm tắt - không lưu trữ hình ảnh và văn bản trong một trường. Lưu trữ văn bản và diễn giải văn bản đó để tải hình ảnh và phương tiện khác trong bài viết của bạn khi thích hợp.
Lưu hình ảnh dưới dạng VARCHAR, nhưng chỉ tên hình ảnh (và/hoặc vị trí, tùy thuộc vào cỡ cm của bạn), lưu văn bản thành - TEXT
.
Trong văn bản sử dụng ý kiến của tôi cho các bài viết, có chứa các ký tự HTML, đó là những gì tôi sử dụng. Nhưng có nhiều thứ khác để xem xét. Nó phụ thuộc vào nội dung bài viết của bạn. Trong hình ảnh của bạn tùy thuộc vào bạn, bạn sẽ chỉ lưu trữ đường dẫn của hình ảnh, trừ khi bạn có kế hoạch lưu trữ hình ảnh.
Lưu trữ hình ảnh và văn bản riêng biệt. Giả sử bạn đang cố gắng lưu trữ các hình ảnh nhị phân trong cơ sở dữ liệu, tôi khuyên bạn nên lưu trữ hình ảnh dưới dạng một kiểu dữ liệu BLOB và TEXT cho văn bản.
Không sử dụng VARCHAR cho văn bản bài viết vì nó không tự động mở rộng qua kích thước bạn tạo ra.
Vui lòng xem điều này article trong đó Microsoft khẳng định kiểu dữ liệu text
sẽ biến mất và do đó không được sử dụng trong phát triển mới. Các lựa chọn thay thế là varchar và nvarchar cho văn bản và varbinary cho hình ảnh.
VARCHAR sẽ là lựa chọn tốt nhất để lưu trữ bài viết văn bản vì các loại dữ liệu văn bản và hình ảnh sẽ biến mất trong tương lai.
Đối với hình ảnh, bạn có thể lưu trữ chúng trong một thư mục tương tự như những gì bạn sử dụng cho css/js và lưu trữ giá trị src của nó trong cơ sở dữ liệu. Điều này sẽ có hiệu quả cả về tốc độ lẫn dung lượng.
- 1. Công cụ lưu trữ cơ sở dữ liệu nào là tốt nhất để triển khai blog?
- 2. Cách tốt nhất để lưu trữ thẻ trong cơ sở dữ liệu là gì?
- 3. Cách tốt nhất để lưu trữ dữ liệu không lặp lại một lần vào cơ sở dữ liệu là gì?
- 4. Cơ sở dữ liệu "tốt nhất" để nhúng là gì?
- 5. Các phương pháp hay nhất để lưu trữ dữ liệu phiên PHP trong cơ sở dữ liệu là gì?
- 6. Cơ sở dữ liệu tốt nhất để lưu trữ số liệu thống kê từ Erlang
- 7. Cách tốt nhất để tìm kiếm kiểu dữ liệu Long trong cơ sở dữ liệu Oracle là gì?
- 8. Hadoop là cơ sở dữ liệu lưu trữ tài liệu
- 9. VarBinary vs Image SQL Server Kiểu dữ liệu để lưu trữ dữ liệu nhị phân?
- 10. Làm thế nào để lưu trữ dữ liệu đồ thị trong cơ sở dữ liệu?
- 11. Cách tốt nhất để lưu trữ nhiều Flags Trong Cơ sở dữ liệu
- 12. Thiết bị lưu trữ cơ sở dữ liệu tốt nhất là gì?
- 13. Cơ sở dữ liệu để lưu trữ cục bộ
- 14. Thiết kế cơ sở dữ liệu Thực tiễn tốt nhất
- 15. Lưu trữ ASP.Net MVC Views trong cơ sở dữ liệu
- 16. Cách tốt nhất để lưu trữ mật khẩu trong cơ sở dữ liệu
- 17. Làm cách nào để phân loại bài viết được gửi tới cơ sở dữ liệu sql?
- 18. Lưu trữ thông tin OpenID trong cơ sở dữ liệu
- 19. Mã hóa dữ liệu để lưu trữ trong cơ sở dữ liệu
- 20. Lưu trữ các mẫu hỗn hợp (dữ liệu phân cấp) trong cơ sở dữ liệu
- 21. Lưu trữ thông tin EXIF trong Cơ sở dữ liệu
- 22. Loại cơ sở dữ liệu NoSQL nào phù hợp nhất để lưu trữ dữ liệu phân cấp?
- 23. Android - Đâu là cơ sở dữ liệu SQLite lưu trữ
- 24. cơ sở dữ liệu SQL 5MB có thể lưu trữ bao nhiêu dữ liệu?
- 25. Làm thế nào để lưu trữ một cây trong cơ sở dữ liệu SQL
- 26. Python, lưu trữ một dict trong cơ sở dữ liệu
- 27. Thực tiễn tốt nhất/Tiêu chuẩn để lưu trữ địa chỉ trong cơ sở dữ liệu SQL
- 28. Lưu trữ bài đăng trong cơ sở dữ liệu hoặc tệp?
- 29. Sử dụng cơ sở dữ liệu quan hệ cho dữ liệu Schemaless - Thực tiễn tốt nhất
- 30. Lưu trữ JSON trong cơ sở dữ liệu msSQL?
Giả sử 'TEXT' sẽ là kiểu dữ liệu tốt nhất cho việc này. –
Tôi không biết lý do chính xác tại sao bạn muốn lưu trữ các hình ảnh trong cơ sở dữ liệu, nhưng tôi tin rằng nó tốt để giữ hình ảnh trên ổ đĩa địa phương của máy và chỉ lưu trữ 'đường dẫn' trong cơ sở dữ liệu. Nó sẽ tốt cho hiệu suất. Bỏ qua tôi nếu tôi sai. Tôi không phải là chuyên gia CMS. Trân trọng – Scorpion