gpt4 book ai didi

c# - 强类型数据集会提高性能吗?

转载 作者:太空狗 更新时间:2023-10-29 23:57:08 25 4
gpt4 key购买 nike

在我工作的地方,我们终于开始考虑使用强类型数据集来封装我们对 sqlserver 的一些查询。我一直在吹捧的想法之一是强类型列的优势,主要是因为不需要转换任何数据。我是否认为强类型数据集会在以下可能有数千行的情况下提高性能?

老方法:

using(DataTable dt = sql.ExecuteSomeQuery())
{
foreach (DataRow dr in dt.Rows)
{
var something = (string)dr["something"];
var somethingelse = (int)dr["somethingelse"];
}
}

新方法:

MyDataAdapter.Fill(MyDataset);
foreach (DataRow dr in MyDataset.MyDT.Rows)
{
var something = dr.Something;
var somethingelse = dr.SomethingElse;
}

如果属性真的只是在幕后进行转换,我可以看出根本不会有任何加速;首先,函数调用的开销可能会比以前花费更长的时间。

我们应该了解使用数据集的其他性能优势/劣势吗?

谢谢!

最佳答案

我不确定使用强类型数据集是否会有任何性能改进,但是您可以获得额外的类型安全性,例如,当您输入错误的字段名称时会出现编译器错误。

MSDN magazine中有一篇文章关于他们,引用其中的一行:

The speed in accessing a typed DataSet is comparable to the faster techniques in accessing an untyped DataSet (since a typed DataSet is just a layer over an untyped DataSet) and the readability of the typed DataSet is the best

此外,正如 Stuart B 指出的那样,Intellisense 本身就是值得的。

关于c# - 强类型数据集会提高性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/528680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com