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

Có những cách nào để chèn và truy xuất dữ liệu BLOB từ cơ sở dữ liệu Oracle bằng SQL?

Trước hết, bạn nên mong đợi lưu trữ BLOB trong cơ sở dữ liệu chậm hơn (đôi khi một chút, thường đáng kể), nhưng chắc chắn là không nhanh hơn lưu trữ chúng trong hệ thống tệp. Các lý do để lưu trữ chúng trong DB không tập trung vào hiệu suất, mà là về ví dụ:

  • Không có sẵn hệ thống tệp (được chia sẻ) trong một kịch bản được phân nhóm hoặc cân bằng tải
  • Dễ dàng sao lưu:Quy trình đơn lẻ, a.o.t. 2 quy trình khi tệp và DB được sử dụng
  • An toàn giao dịch:BLOB đã ở đó và đã hoàn thành hoặc chưa, nhưng chưa ở giai đoạn nửa chừng
  • những người khác mà tôi không thể nghĩ ra ngay bây giờ.

Nguyên tắc chung là, nếu không có vấn đề nào trong số này khiến bạn lo lắng, bạn nên lưu trữ các tệp của mình dưới dạng ... tệp. Lưu trữ siêu dữ liệu và tên đường dẫn trong DB là cách tốt và phổ biến của IMHO.

Liên quan đến điều chỉnh Oracle:Có những cuốn sách đã viết về điều đó. Tôi nghi ngờ tổng số chúng hơn một tấn ở định dạng bìa mềm. Trước hết, bạn có thể nhìn vào mức tiêu thụ bộ nhớ của quy trình Oracle - quy tắc chung:Nếu nó nhỏ hơn một hợp đồng biểu diễn và bạn sử dụng BLOB, bạn đang gặp rắc rối. Đọc các vùng bộ nhớ khác nhau và cách tăng chúng. Một số giới hạn cho phiên bản cấp tốc có thể được áp dụng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay thế của sys_refcursor

  2. Cách định cấu hình Đánh dấu cú pháp trong SQLcl

  3. Làm thế nào để in 1 đến 10 mà không cần sử dụng vòng lặp trong PL / SQL?

  4. Thay đổi thành phần múi giờ của TIMESTAMP VỚI TIMEZONE trong Oracle

  5. Trả về thông báo mã lỗi trong Oracle Stored Proc