SQLServer IMAGE类型数据的分段下载
Multipart download of SQLServer IMAGE type data
首先是一些上下文:
如果您想加快通过 Internet 下载文件的速度,可以使用多部分文件下载器,也称为下载加速器。
问题:
我有一个压缩文件存储在 IMAGE 列类型的 sql-server table 中。
是否可以同时下载多个部分的单个图像数据(zip 文件)?
举个例子;假设我使用两个线程来下载 1000 字节的单个图像数据。线程 1 将从索引 0 开始下载并在索引 500 处结束,线程 2 将从索引 500 开始下载并在到达数据末尾时结束。
补充信息:
如果可以的话,我打算用C#开发一个app来执行这个SQLServer IMAGE数据的分段下载。
您可以使用 SUBSTRING function to get sections of IMAGE 数据。例如,您可以使用这样的存储过程;
create proc dbo.GetImageData(@key int, @start bigint, @length bigint) as
begin
select substring(MyImageValue, @start, @length)
from dbo.MyImageTable
where MyKey = @key
end
如果您打算使用多个线程来读取单个 IMAGE 值,我希望它能相当快地使连接容量饱和,所以我会在走得太远之前做一些真实世界的测试。
最后一点,IMAGE 数据类型已被弃用一段时间,如果可以,您应该研究将 IMAGE 列更改为 VARBINARY(MAX)。
首先是一些上下文: 如果您想加快通过 Internet 下载文件的速度,可以使用多部分文件下载器,也称为下载加速器。
问题: 我有一个压缩文件存储在 IMAGE 列类型的 sql-server table 中。 是否可以同时下载多个部分的单个图像数据(zip 文件)?
举个例子;假设我使用两个线程来下载 1000 字节的单个图像数据。线程 1 将从索引 0 开始下载并在索引 500 处结束,线程 2 将从索引 500 开始下载并在到达数据末尾时结束。
补充信息: 如果可以的话,我打算用C#开发一个app来执行这个SQLServer IMAGE数据的分段下载。
您可以使用 SUBSTRING function to get sections of IMAGE 数据。例如,您可以使用这样的存储过程;
create proc dbo.GetImageData(@key int, @start bigint, @length bigint) as
begin
select substring(MyImageValue, @start, @length)
from dbo.MyImageTable
where MyKey = @key
end
如果您打算使用多个线程来读取单个 IMAGE 值,我希望它能相当快地使连接容量饱和,所以我会在走得太远之前做一些真实世界的测试。
最后一点,IMAGE 数据类型已被弃用一段时间,如果可以,您应该研究将 IMAGE 列更改为 VARBINARY(MAX)。