如何在Oracle中选择BLOB字段的一部分?

Mus*_*sis 6 oracle

我在Oracle中有一个表,它将文件作为字节数组存储在BLOB字段中.我希望我的客户能够以小块的形式下载存储的文件(而不是一次性下载所有内容),这样我就可以显示进度条.

如何编写只检索BLOB字段部分内容的Oracle查询?我想它会是这样的:

SELECT PARTOF(BLOBFIELD, 1000, 2000) AS CHUNK FROM tbl WHERE ID = 1
Run Code Online (Sandbox Code Playgroud)

如果我想从字节2000开始从BLOBFIELD获得1000个字节.

作为次要问题,这是否有任何性能问题?如果Oracle必须将整个BLOB字段加载到内存中以便返回其中的一部分,那么这不是一个好主意.