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でそれをしようとしましたが、例外が発生しました。
Thanx事前に。
私はこれを試してみます。私はあなたに知らせます – JSC
奇妙な問題は、クエリ結果から.NETフレームワークまでの待ち時間です(クエリの持続時間は0msであり、ネットワーク遅延はありません)。私たちのサーバ(VM-ware)では、プロセッサ速度が最大5%のシングルスレッド(2K xml)の平均400 recs p/sを取得します。これは空のdo whileループで行われます。 – JSC