SQL Server varbinary (max) : varbinary 필드에서 바이트의 서브 세트를 선택합니다.

StackOverflow https://stackoverflow.com/questions/1288885

문제

SQL Server 2008의 Varbinary (MAX) 필드 (FILESTREAMS를 사용하지 않음)에서 이진 데이터의 일부만 읽는 가장 효율적인 방법은 무엇입니까?

열에 데이터를 작성하면 varbinary.write () 함수를 t-sql로 사용할 수 있으므로 바이트를 필드에 점진적으로 기록 할 수 있지만 데이터를 읽는 데 사용할 수있는 유사한 기능이없는 것으로 보입니다.

.NET의 DataReader.getBytes () 메소드를 알고있는 바이트 만 선택할 수있는 바이트를 선택하지만 이로 인해 성능 오버 헤드가 있습니까? 즉, SQLServer의 SELECT는 데이터베이스의 모든 바이트를 읽은 다음 getBytes () 메소드에 이러한 모든 바이트를 제공하여 요청한 바이트의 하위 집합을 가져 오십니까?

도움을 주셔서 감사합니다.

도움이 되었습니까?

해결책

너는 사용한다 서브 스트링. 이것은 서버의 바르 베이어 데이터에서 스 니펫을 읽고 스 니펫을 클라이언트로만 반환합니다.

다른 팁

사용 DataReader.GetBytes() 오버 헤드없이 가능합니다. 그러나 당신은 전화해야합니다 ExecuteReader() 이랑 CommandBehavior.SequentialAccess 옵션.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top