- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我工作的地方,我们终于开始考虑使用强类型数据集来封装我们对 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/
这些指令有什么区别?以 ARM9 处理器为例,它不应该是: ASM: mov r0, 0 C: r0 = 0; ASM: ld r0, 0 C: r0 = 0; ? 我不知道为什么要使用一个或另一个:
快速提问,我正在阅读 Richard C. Detmer 编写的题为“80x86 汇编语言和计算机体系结构简介”的教科书,第 21 和 22 页谈到了借用的概念,但它并没有真正描述什么确实如此。以下是
我想不通为什么我的程序会在我希望它在 ecx 的值等于 0 后退出时进入无限循环?请帮忙? section .data ;get external functions extern printf gl
我的解决方案中有 2 个项目: 程序集(基本库) 测试程序集(NUnit) 我在第一个项目中将测试程序集声明为 friend 程序集: [assembly: InternalsVisibleTo ("
我的解决方案中有 2 个项目: 程序集(基本库) 测试程序集(NUnit) 我在第一个项目中将测试程序集声明为 friend 程序集: [assembly: InternalsVisibleTo ("
我几周前通过的单元测试现在失败了。当单元测试尝试创建工作空间权限时,现在会失败。我使用相同的 api-key,它具有订阅级别的访问权限,因此授权不是问题。以下是当我尝试创建工作空间权限时 WSAPI
使用集会 Node 工具包,当我尝试将新的变更集(带有新的内联变更)添加到现有的用户故事时,我收到返回的错误消息。当我注释掉新的更改时,更改集会按预期添加。这似乎与我无法弄清楚的更改数据有关。 添加通
我是 Rally 世界的新手,正在努力了解如何使用 RallyRestAPI。有许多示例说明如何查询 Rally 以获取我认为最有帮助的相关信息。我想要做的是创建一个 C# 命令行工具来将用户添加到项
尝试运行对集会的读取调用时,我不断从 Node 收到以下错误响应: Error: getaddrinfo ENOTFOUND rally1.rallydev.com rally1.rallydev.c
我正在尝试使用 python 工具包查询特定迭代中的所有任务以进行集会 REST API .迭代将在运行时选择。 但是我无法设置正确的查询。我觉得我在这里遗漏了一些小而重要的东西。 这是代码: que
我正在通过 Ruby 使用 Rally API ( http://developer.help.rallydev.com/ruby-toolkit-rally-rest-api-json )。我想查询
我是一名优秀的程序员,十分优秀!