.net datatable 查找一行时的方法比较datatable.rows.find vs datable.select vs dataview vs for loop
来源:互联网 发布:c高性能编程 pdf 编辑:程序博客网 时间:2024/04/27 23:56
在.net 中,从datatable里查找一行有四种实现方法,但是哪种性能最高呢?
经过对一个2万行的表的实验比较如下:
1,datatable.rows.find
这种方法是最高效的方法。在实验表的规模下,所需时间(ticks)是0。
但是这种方法只能查询主健列。
2,datable.select
这种方法是最耗时的。在实验表的规模下,所需时间(ticks)是800,000左右。
这种唯一的优点是写法简单。
3,dataview
这种方法相对比较高效。在实验表的规模下,所需时间(ticks)是90,000左右。
4,对datable for loop循环
看起来最原始的思路,比较麻烦的写法,但有着相当不错的性能。
所需时间(ticks)是0-70,000。时间随所查找的行所在的位置不同而呈近线性变化。
结论,
如果是查找单行,
如果是根据主健查找rows.find,否则for loop
如果是查找多行,
用dataview ;忘记datable.select吧。
--------------------------------------------------------------
20150717更新,
新换了实现表,二百万行数据,有组合主键.
对比dataview 与select 在有部分主键的情况下的查找多行比较
结果居然是完全不同,select 几乎总是比dataview快一到两个数量级
0 0
- .net datatable 查找一行时的方法比较datatable.rows.find vs datable.select vs dataview vs for loop
- Hashtable VS DataTable
- Hashtable VS DataTable
- foreach VS for loop
- 每日总结:DataTable的Select()方法、DataView的RowsFilter属性
- 对DataTable进行过滤筛选的一些方法Select,dataview
- SELECT SINGLE vs. UP TO 1 ROWS
- DataTable.Select , DataView.RowFilter , DataView.FindRows 的用法解析
- DataTable的Select方法
- DataTable的Select方法
- DataTable的Select方法
- asp.net 的 Datatable 使用,asp.net c# Datatable 创建 修改 查询 更新 提交 AcceptChanges Select Rows.Add(row)
- Js for in vs for loop
- 将排好序的DataView转成DataTable的方法
- 将排好序的DataView转成DataTable的方法
- J2EE vs. NET, Java vs. C#:比较公正的评价
- J2EE vs. NET, Java vs. C#:比较公正的评价
- Shortcuts for VS.Net
- ssh2项目中文件的上传和下载的初步认识
- Myeclipse出现 java文件中文乱码问题
- 谷歌示好中国?Google Play或将推出本地版本
- C# 6.0 的那些事
- GStreamer Bus的一个细节
- .net datatable 查找一行时的方法比较datatable.rows.find vs datable.select vs dataview vs for loop
- C/C++字符串查找函数
- C#中ListBox控件设置Item字体并居中显示
- sdut Find a girl friend(结构体的二级排序)
- 内存分配——静态存储区 栈 堆
- Web前端应用常用技术大盘点
- 采用反射获取包名
- 業務システムの開発ドキュメント標準化 第2回:機能一覧表とI/O関連図
- 几种常见的排序算法(java实现)