datatable中查询条件加上日期区间就巨慢是怎么回事?

一转程序员 2018-12-18 04:02:07
今天碰到个问题,datatable.select方法条件中加上日期比较就很慢是怎么回事? datatable是从sqlserver中取的数据,大概9000条 使用datatable.select方法查询查一个月的数据,查询一年半18个月,也就是进行18次查询。如果不加日期区间需要5ms,加上日期区间就要1500ms 查询语句如下: datatable.select("name='aaaa' and day>='2018/7/1' and day<='2018/7/31'") 请教这问题怎么解决?
...全文
280 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-12-18
  • 打赏
  • 举报
回复
一转程序员 2018-12-18
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning的回复:
分组查询。都次使用,谁也不会傻到相似的条件查个几万遍
请指点一下怎么按月分组查询?
一叶无秋 2018-12-18
  • 打赏
  • 举报
回复
你该不会把说有数据查询出来 ,保存到datatable里吧,然后在条件筛选?直接用SQL查询就是了。datediff
xuzuning 2018-12-18
  • 打赏
  • 举报
回复
分组查询。都次使用,谁也不会傻到相似的条件查个几万遍
正怒月神 2018-12-18
  • 打赏
  • 举报
回复
引用 4 楼 hodrag 的回复:
[quote=引用 3 楼 正怒月神的回复:]通过数据库索引来解决,放在sql端。
那得创建视图,以后数据多了再这样进行几万次的sum没问题吗?[/quote] 不清楚,但是datatable.select想优化的话,有点困难。
一转程序员 2018-12-18
  • 打赏
  • 举报
回复
引用 3 楼 正怒月神的回复:
通过数据库索引来解决,放在sql端。
那得创建视图,以后数据多了再这样进行几万次的sum没问题吗?
正怒月神 2018-12-18
  • 打赏
  • 举报
回复
通过数据库索引来解决,放在sql端。
一转程序员 2018-12-18
  • 打赏
  • 举报
回复
引用 1 楼 吉普赛的歌的回复:
不用折腾 datatable 的筛选, 直接在 sql 语句中加条件就是了。 day 字段加上索引, 数据库查很快的:

create index ix_tableName_day on tableName(day);
我需要很多次统计,有几万次,全用sqlserver查询不太好吧?
吉普赛的歌 2018-12-18
  • 打赏
  • 举报
回复
不用折腾 datatable 的筛选, 直接在 sql 语句中加条件就是了。 day 字段加上索引, 数据库查很快的:

create index ix_tableName_day on tableName(day);

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧