I have a SqlDataReader dr returned from a SqlCommand. dr contains only one
column of 2000 varbinary(max) records (contains 24 bytes in my testing
case). The following code takes 1 second to
run. I would like to improve the performance. Any suggestions

while (dr.Read())
{
list.Add(dr[0] as byte[]);
}

where list is of List<byte[]>.

Re: Performance to copy blob from SqlDataReader by Mary

Mary
Sun May 04 13:52:17 CDT 2008

I don't know where the bottleneck is -- possibly the list? This topic
describes different coding techniques for retrieving varbinary(max)
data:

http://msdn.microsoft.com/en-us/library/a1904w6t(VS.80).aspx

--Mary

On Sat, 3 May 2008 19:45:00 -0700, Roy <Roy@discussions.microsoft.com>
wrote:

>I have a SqlDataReader dr returned from a SqlCommand. dr contains only one
>column of 2000 varbinary(max) records (contains 24 bytes in my testing
>case). The following code takes 1 second to
>run. I would like to improve the performance. Any suggestions
>
>while (dr.Read())
>{
> list.Add(dr[0] as byte[]);
>}
>
>where list is of List<byte[]>.

Re: Performance to copy blob from SqlDataReader by Roy

Roy
Sun May 04 16:19:00 CDT 2008

I don't think it is the List.Add(...). I have tested by replacing the list
with an array and it does not affect. I think the bottleneck is the copy of
the bytes from data reader to a local. I don't know which is the way for best
performance for a data reader column with underlining varbinary(max) type.

"Mary Chipman [MSFT]" wrote:

> I don't know where the bottleneck is -- possibly the list? This topic
> describes different coding techniques for retrieving varbinary(max)
> data:
>
> http://msdn.microsoft.com/en-us/library/a1904w6t(VS.80).aspx
>
> --Mary
>
> On Sat, 3 May 2008 19:45:00 -0700, Roy <Roy@discussions.microsoft.com>
> wrote:
>
> >I have a SqlDataReader dr returned from a SqlCommand. dr contains only one
> >column of 2000 varbinary(max) records (contains 24 bytes in my testing
> >case). The following code takes 1 second to
> >run. I would like to improve the performance. Any suggestions
> >
> >while (dr.Read())
> >{
> > list.Add(dr[0] as byte[]);
> >}
> >
> >where list is of List<byte[]>.
>

Re: Performance to copy blob from SqlDataReader by Cor

Cor
Mon May 05 00:27:42 CDT 2008

Roy,

>I don't think it is the List.Add(...). I have tested by replacing the list
> with an array and it does not affect. I think the bottleneck is the copy
> of
> the bytes from data reader to a local. I don't know which is the way for
> best
> performance for a data reader column with underlining varbinary(max) type.
>

If that would be the case, then why not with an integer, however in my idea
can reading blobs as they have a little bit large size be terible slow.

Cor