我不断地看到SqlDataReaders比SqlDataAdapters快,因为它们具有快速向前、只读和一次连接一行的特性,而且在用于填充DataTable对象(SqlDataAdapter.Fill(dataTable))时,它们特别比SqlDataAdapters快。
然而,有时候会有人提到“使用DataAdapter可能不会有什么区别,因为SqlDataAdapter内部使用数据读取器来填充其表格。”如果这是真的,那么适配器如何能够比使用内部数据读取器与数据库通信的情况慢得多呢?
我知道我可以设置一些测试并分析每个测试的性能,但我真正想要的是有人解释一下所述性能差异的细节,如果我们实际上用两种方式处理同样的过程,该怎么办。
我了解到您通常会使用读取器来创建强类型POCO的列表,而数据适配器只是填充表格。然而,我的问题严格限于两者之间性能差异的细节,而不涉及O / RM问题...
然而,有时候会有人提到“使用DataAdapter可能不会有什么区别,因为SqlDataAdapter内部使用数据读取器来填充其表格。”如果这是真的,那么适配器如何能够比使用内部数据读取器与数据库通信的情况慢得多呢?
我知道我可以设置一些测试并分析每个测试的性能,但我真正想要的是有人解释一下所述性能差异的细节,如果我们实际上用两种方式处理同样的过程,该怎么办。
我了解到您通常会使用读取器来创建强类型POCO的列表,而数据适配器只是填充表格。然而,我的问题严格限于两者之间性能差异的细节,而不涉及O / RM问题...