SQL Server 2005에서 많은 양의 데이터 (단일 열 nvarchar (max))를 읽고이를 개체로 역 직렬화하려고합니다. 우리는 현재 다음과 같은 것을 사용하고 있습니다. 그러나이 방법은 더 빠르고 효율적으로 수행 할 수 있습니까?SQL Server 2005에서 UTF8 (XML) 데이터를 가장 효율적으로 읽습니다.
using(MemoryStream stream = Encoding.UTF8.GetBytes((string)cmd.ExecuteScalar()))
{
XmlTextReader xmlReader;
DataContractSerializer deserializer;
deserializer = new DataContractSerializer(typeToDeserialize);
xmlReader = new XmlTextReader(stream);
return deserializer.ReadObject(xmlReader);
}
나는 SqlDataReader 및 GetBytes를 사용하여 시도했지만 다른 예외가 발생했습니다.
고지.
고맙습니다. 나는 이것을 시도 할 것입니다. 나는 당신에게 알려줄 것이다 – JSC
이상하게도 문제는 쿼리 결과에서 .NET 프레임 워크까지의 대기 시간이다 (쿼리의 지속 시간은 0ms이며 네트워크 대기 시간은 없다). 우리 서버 (VM-ware)에서 최대 5 %의 프로세서 속도로 평균 400 recs p/s 단일 스레드 (2K xml)를 얻습니다. 이것은 빈 do while 루프로 수행됩니다. – JSC