当前位置: 动力学知识库 > 问答 > 编程问答 >

.net - SQL Server Varbinary(max): select a subset of bytes from the varbinary field

问题描述:

What is the most efficient way of reading just part of the binary data from a varbinary(MAX) field (not using FileStreams) in SQL Server 2008?

When writing data to the column the VarBinary.Write() function is available in T-SQL, allowing bytes to be written to the field incrementally, but there doesn't appear to be a similar function available for reading data.

I know of the DataReader.GetBytes() method in .Net which will select just the bytes you ask for, but does this carry a performance overhead with it? i.e. will the select in sqlserver read all of the bytes in the database, and then give the getBytes() method all of these bytes for it to take the subset of bytes requested from them?

Thanks for any help.

网友答案:

You use SUBSTRING. This reads a snippet from your varbinary data on the server, and only returns the snippet to the client.

网友答案:

Using DataReader.GetBytes() is possible without overhead, afaik. But you'll have to call the ExecuteReader() with the CommandBehavior.SequentialAccess option.

分享给朋友:
您可能感兴趣的文章:
随机阅读: