在使用System.Data.SqlClient执行带有SqlDbType.Structured参数的过程时,尝试估计通过网络传输到SQL Server的数据量。假设未加密的连接,以下是否会提供合理的估计?
DataTable dt = new DataTable();
//Fill with data
using (Stream ms = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms, dt);
var dataSize = ms.Length;
}
答案 0 :(得分:-1)
没有理由认为C#中的二进制格式化程序与SQL客户端的传输格式有任何关系。
估计(不太清楚您想要估算的内容)的最佳方法是文档(如果存在)或只是网络监视器和一些测试用例。
这个问题让我很担心 - 我想不出一个用例,这会是一个问题。所有当前网络上的任何合理大小的表(例如1 mb)都会很快。任何大表(例如1gb)都是你设计不好的信号。如果问题是受约束的系统(例如IOT),您可能需要更好的设计。