先构造一个DataTable:

 public DataTable GetDataTable()
{
DataTable dtTmp = new DataTable();
dtTmp.Columns.Add("", typeof(string));
dtTmp.Columns.Add("", typeof(string));
dtTmp.Columns.Add("", typeof(string));
dtTmp.Columns.Add("", typeof(string));
dtTmp.Columns.Add("", typeof(string));
dtTmp.Columns.Add("", typeof(string));
dtTmp.Columns.Add("", typeof(string));
dtTmp.Columns.Add("", typeof(string)); for (int i = ; i < ; i++)
{
DataRow dr = dtTmp.NewRow(); dr[""] = "数据" + i;
dr[""] = "数据" + i;
dr[""] = "数据" + i;
dr[""] = "数据" + i;
dr[""] = "数据" + i;
dr[""] = "数据" + i;
dr[""] = "数据" + i;
dr[""] = "数据" + i; dtTmp.Rows.Add(dr);
} return dtTmp;
}

建立单元测试项目:

 [TestClass]
public class UnitTest1
{
Class1 cs1;
DataTable dt;
public UnitTest1()
{
cs1 = new Class1();
dt = cs1.GetDataTable();
} [TestMethod]
public void TestMethod0()
{
/*空测试项目*/
} [TestMethod]
public void TestMethod1()
{
DataTable dtt = dt.AsEnumerable().Where(o => o.Field<string>("").Contains("")).AsDataView().ToTable();
} [TestMethod]
public void TestMethod2()
{
DataTable dtt = (from a in dt.AsEnumerable() where a.Field<string>("").Contains("") select a).AsDataView().ToTable();
} [TestMethod]
public void TestMethod3()
{
dt.AsDataView().RowFilter = "[1] like '%0%'";
DataTable dtt = dt;
} [TestMethod]
public void TestMethod4()
{
DataTable dtt = dt.Select("[1] like '%" + "" + "%'").CopyToDataTable();
}
}

运行后看效率:

1000行数据量:

10000行数据量:

100000行数据量:

1000000行数据量:

DataTable无索引状态下测试,也是日常最常用的数据过滤方法之一,

再大就不测了,数据量太大放DataTable本来就不适合,可以考虑nosql了,效率吗,如上,仅供参考,欢迎拍砖.

最新文章

  1. 使用dd命令备份Linux分区
  2. Proxy模式:管理第三方API
  3. 查询反模式 - GroupBy、HAVING的理解
  4. Table of Contents - MyBatis
  5. PHP备份数据库的原理和方法 57
  6. mycat实例(3)
  7. 学习linux之vi编辑器
  8. 二、Python-----用户交互
  9. CImageList使用指南
  10. Got Stucked in C++ Static Library Loading.. for some time
  11. Xcode调试时查看变量的方法
  12. Mysql+jsp连接记录
  13. SVD的基础详解
  14. Linux查看机器的硬件信息
  15. MySQL的reset master
  16. php中urlencode与rawurlencode的区别
  17. 220. Contains Duplicate III 数组指针差k数值差t
  18. [UWP 自定义控件]了解模板化控件(5):VisualState
  19. 关于Adaboost算法
  20. 单页面SPA应用路由原理 history hash

热门文章

  1. LayaAir引擎——(六)
  2. Win10/UWP开发—使用Cortana语音与App后台Service交互
  3. IOS中延迟执行的几种方法
  4. 嵌入式linux应用程序移植方法总结
  5. jquery检查元素存在性
  6. 《剑指offer》面试题11: 数值的整数次方
  7. Egit Patch
  8. js 反显查询。
  9. appium +python 一个简单的例子
  10. Java实验三