Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách tốt nhất để lưu trữ Chuỗi lớn trong cơ sở dữ liệu SQL Server?

Trong SQL Server 2008, bạn có tùy chọn sử dụng FILESTREAM để lưu trữ dữ liệu nhị phân lớn. Trong trường hợp này, dữ liệu sẽ có sẵn trong các truy vấn, nhưng được lưu trữ vật lý trên hệ thống tệp.

Microsoft đã xuất bản Bài viết Kỹ thuật Máy chủ SQL trong đó chứa thông tin hữu ích về cách thức và thời điểm sử dụng FILESTREAM . Trên trang thứ 8, biểu đồ so sánh cho thấy FILESTREAM có lợi thế qua BLOB được lưu trữ trong cơ sở dữ liệu nếu dữ liệu được lưu trữ lớn hơn 1MB .

LƯU Ý FILESTREAM không khả dụng trong SQL Server 2005! (Và SQL Server 2005 không được Microsoft hỗ trợ lâu hơn - ngoại trừ hỗ trợ mở rộng)

Một số bài viết khác để đọc

Bạn có thể xem một số biểu đồ so sánh trên blog SQLSkills về hiệu suất của nó.

Ngoài ra, Microsoft Research đã xuất bản một Bài viết kỹ thuật:Tới BLOB hay Không tới BLOB về luồng phim và BLOBS.

Bạn có thể thử, nhưng như mọi khi, bạn phải chạy một số thử nghiệm môi trường cụ thể để đảm bảo rằng giải pháp này có hoạt động hay không. Nếu đây là một sản phẩm trên thị trường, bạn nên triển khai hỗ trợ FILESTREAM dưới dạng tính năng chọn tham gia hoặc chọn không tham gia.

Chỉ là ghi chú bên lề

NVARCHAR lớn gấp đôi so với VARBINARY bởi vì SQL Server lưu trữ mỗi ký tự trên 2 byte trong unicode (NCHAR , NVARCHAR , v.v.) cột.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách bỏ qua lỗi khóa trùng lặp trong T-SQL (SQL Server)

  2. Làm thế nào để thực hiện ghi nhật ký và báo cáo lỗi trong các thủ tục được lưu trữ trong SQL?

  3. Chuyển đổi ngày sang định dạng YYYYMM

  4. Các giá trị varchar được lưu trữ trong cơ sở dữ liệu SQL Server như thế nào?

  5. Vi phạm ràng buộc CHÍNH CHÍNH