Bỏ qua lời khuyên rõ ràng là chỉ nên lưu trữ mỗi tệp dưới dạng một BLOB riêng biệt ...
Có vẻ như với tôi bạn có hai sự lựa chọn. Lưu trữ độ dài của mỗi tệp ở đâu đó và sử dụng độ dài đó để kiểm soát lượng dữ liệu bạn đọc từ BLOB; hoặc đặt một số giá trị dấu phân cách vào BLOB giữa các tệp. Dấu phân tách dường như là lựa chọn tồi tệ hơn đối với tôi - bạn phải chọn một giá trị được đảm bảo không có trong dữ liệu tệp và bạn phải đọc các byte đơn lẻ để tìm dấu phân cách.
Vì vậy, hãy lưu trữ các độ dài. Và có lẽ là tên tệp. Điều này ngụ ý một bảng con với một hàng trên mỗi tệp. Điều này đưa chúng ta trở lại câu hỏi - tại sao không chỉ lưu trữ một BLOB trong mỗi hàng đó, mỗi hàng một tệp?