想了解下DataTable.Select(id=)和DataTable.Rows.Find(id)哪个效率更高 id是主键? 如题!原因呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己写个for循环,输出一下timespan不就得了 如果查询是在数据表的主键列上进行的,使用DataTable.Rows.Find代替DataTable.Select。http://www.yesky.com/dev/msdn/28/2192028_1.shtml Select的效率应该更高吧,DataTable是一个内存表,可以假象为真实表,理论上应该有真实数据库中的一切,则应有索引之类的。Rows.Find应该是逐行去找的吧,但可能也会进行索引,这样考虑,就应该是一样的了。呵呵,想当然了关注 id是主键的话,DataTable.Rows.Find(id)的效率应该高点,参考http://www.chinaaspx.com/comm/technet/Showtopic.aspx?Forum_ID=5&Id=45089 通过DataTable.Rows.Find(id)应该比较高,但无论怎么样,DataTable.Rows.Find(id)不会比DataTable.Select()方法效率低。楼主可以通过Reflector之类的软件反射看一下代码。 DataTable.Select() 得到的是一个 DataRowCollection 因为id是主键所以结果是DataTable.Select()[0]DataTable.Rows.Find(id) 得到单个的DataRow Reflector 反射 .net代码比较复杂。 我也认为DataTable.Rows.Find(id)比DataTable.Select()效率高。 Find 当然快,因为DataRowCollection 的内部是用HashTable实现的它的查找时间是固定的。而Select需要逐条匹配 我想要个简单的生产流程上的解决方案 安装项目-怎样修改默认界面 WinForm 相关问题 获取调用可执行文件的文件名 在C#中怎样定义一个属性列呢? 关于打印纸张大小的问题 winmobile下的应用程序开发,我真的急需,谢谢了 一个简单的C#问题! WPF 如何鼠标选中图片 初学编程,在类那章,那么多要记忆条条框框看着都头大???不知道谁那里有好的教材,在这方面讲得明白又透彻. 请问我在visio里面反向工程把sql server2000里面的数据生成了E-R图,请问怎么编辑后保存到sql server 里面 listview能添加comboBox吗?
Rows.Find应该是逐行去找的吧,但可能也会进行索引,这样考虑,就应该是一样的了。
呵呵,想当然了关注
但无论怎么样,DataTable.Rows.Find(id)不会比DataTable.Select()方法效率低。
楼主可以通过Reflector之类的软件反射看一下代码。
Reflector 反射 .net代码比较复杂。
它的查找时间是固定的。
而Select需要逐条匹配