尝试估计使用 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;
}
没有理由认为 C# 中的二进制格式化程序与 SQL 客户端的传输格式有任何关系。
估计的最佳方法(不太清楚要估计的内容(是文档(如果存在(或仅网络监视器和一些测试用例。
这个问题让我担心 - 我想不出这是一个问题的用例。 任何合理大小的表(例如 1 mb(在所有当前网络上都是快速的。 任何大表(例如1gb(都是您设计不佳的信号。 如果问题是受约束的系统(例如IOT(,您可能需要更好的设计。