Tôi đã cố gắng chèn dữ liệu BLOB với nhà phát triển SQL. Nhưng tôi không thể tìm thấy các câu lệnh chèn được sử dụng để chèn dữ liệu BLOB.Các cách chèn và lấy dữ liệu BLOB từ cơ sở dữ liệu Oracle bằng cách sử dụng SQL là gì?
Ngoài ra, tốc độ cơ sở dữ liệu thực sự chậm. Đối với các tệp nhỏ, nó thực thi tốt. Nhưng khi tôi cố gắng nhập 50 mb tập tin avi vào BLOB, mất 3-4 phút & vẫn chưa hoàn thành. Khi tôi cố gắng xuất dữ liệu BLOB vào một tệp, quá trình xuất cũng chậm. Tôi đã sử dụng Oracle 10g Express Edition. Nếu tốc độ cơ sở dữ liệu chậm hơn tốc độ hệ thống tập tin, thì tại sao cơ sở dữ liệu được sử dụng để lưu trữ dữ liệu BLOB? Có cách nào khác để tối ưu hóa hiệu suất không?
tôi không bao giờ khuyên bạn sử dụng các đốm màu để lưu trữ các file - chỉ cần đặt chúng trên một hệ thống tập tin và lưu trữ tài liệu tham khảo để các tập tin ... –
tôi sẽ nghĩ rằng 'BLOB's sẽ gần như luôn luôn được lưu trữ trong hệ thống tệp và một con trỏ đến thư mục dữ liệu được định nghĩa trong 'dba_directories' (như siêu dữ liệu). Oracle cung cấp một số chức năng trong gói 'webutil' của nó để chèn' BLOB 'vào một bảng nhưng sau đó sẽ có ngữ cảnh cho người dùng tải lên một tệp (nói' .avi') thông qua một ứng dụng từ (dựa trên 'Oracle Forms' hoặc 'Apex', v.v.). Một cách khác là sử dụng 'dbms_lob.fileopen' &' dbms_lob.loadfromfile' để khởi tạo 'BLOB' var của bạn và sau đó thực hiện chèn nhưng một lần nữa hiệu suất là một mối quan tâm ở đây. – Annjawn
@NWest Nếu bạn đang đề xuất lưu trữ BLOB trong hệ thống tệp thì tại sao mọi ứng dụng web chuyên nghiệp lại sử dụng cơ sở dữ liệu mạnh mẽ làm dịch vụ back-end? Nếu bất cứ ai lưu trữ phần lớn dữ liệu của tôi trong hệ thống tệp thì tại sao tất cả mọi người sẽ cần một cơ sở dữ liệu? Họ có thể lưu trữ thông tin chỉ trong tập tin xml hoặc mdb và truy xuất chúng khi được yêu cầu !!!! –