社区
C#
帖子详情
如何提高查询数据的速度?
学徒0905
2010-09-15 01:23:21
我要实现一个功能,,例如8月1号-8月20号,这一段时间内有很多个下雨过程,以最大的下雨过程为对象,我要实现这段时间在历史上最大的下雨过程,有十几年的数据,每年都有8月1号-8月20号,这只是一个观测站的结果,我还要实现几十个观测站在8月1号-8月20号历史上最大的下雨过程。我如何实现提高速度,我用DataTable 显示的,可是速度很慢,因为有几十万行的数据,这个功能是在这几十万行数据中查询的。
请高手给些思路???
...全文
282
22
打赏
收藏
如何提高查询数据的速度?
我要实现一个功能,,例如8月1号-8月20号,这一段时间内有很多个下雨过程,以最大的下雨过程为对象,我要实现这段时间在历史上最大的下雨过程,有十几年的数据,每年都有8月1号-8月20号,这只是一个观测站的结果,我还要实现几十个观测站在8月1号-8月20号历史上最大的下雨过程。我如何实现提高速度,我用DataTable 显示的,可是速度很慢,因为有几十万行的数据,这个功能是在这几十万行数据中查询的。 请高手给些思路???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wj0728
2010-09-15
打赏
举报
回复
索引
视图
分区表
IceSpeed
2010-09-15
打赏
举报
回复
[Quote=引用 14 楼 levitate 的回复:]
dataTable采用存储过程分页结构
建立良好的索引
最好别用循环语句 对于大数据量用临时表单都比循环快很多
[/Quote]
说的有道理!
学徒0905
2010-09-15
打赏
举报
回复
综合性的问题,主要是逻辑和sql的。
njw1028
2010-09-15
打赏
举报
回复
[Quote=引用 8 楼 zhouzhangkui 的回复:]
楼主发错地方了吧
这个属于SQL方面的问题了
[/Quote]
答曰:对
学徒0905
2010-09-15
打赏
举报
回复
下雨过程是这样的,比如给一个时间段,8月1号-8月20号, 3号下雨了是一个过程,4-7号每天都下雨了是一个下雨过程,9号下雨了是一个过程,11-15号每天都下雨了是一个下雨过程,求这几个过程中降雨量最大的过程,这是针对一个观测站的。我还要实现几十个观测站在8月1号-8月20号历史上十几年最大的下雨过程。我如何实现提高速度。
qq100191677
2010-09-15
打赏
举报
回复
存储过程
索引读
集合装
学徒0905
2010-09-15
打赏
举报
回复
我的意思是从几十万行数据中找到符合条件的数据,然后再经过处理,最后显示在DataTable上的,没有多少行数据,最多一百行左右。就是处理数据时,我也用了临时表,要得到的结果比较复杂,经过很多的循环和判断,差不多要等50秒左右
smallMage
2010-09-15
打赏
举报
回复
看你需求,如果是一次性把几十万需求都导出来,那肯定优化数据库,
如果只是展现出来,那你采用分页,一次只返回20条数据,或者一页显示100条数据,速度很快
levitate
2010-09-15
打赏
举报
回复
dataTable采用存储过程分页结构
建立良好的索引
最好别用循环语句 对于大数据量用临时表单都比循环快很多
yuxh81
2010-09-15
打赏
举报
回复
[Quote=引用 10 楼 yue913785770 的回复:]
我的意思是这个功能要实现很麻烦,我用的是循环,一个大循环包括10来个循环,结果显示的语句也不多,就是循环处理数据花费的时间长
[/Quote]
我估计你的sql语句或逻辑有问题
飞扬人生
2010-09-15
打赏
举报
回复
先建立索引
然后存储过程调用数据
写入到多个datatable中,合并之。
Nick黄
2010-09-15
打赏
举报
回复
实现下雨过程、费解....
学徒0905
2010-09-15
打赏
举报
回复
我的意思是这个功能要实现很麻烦,我用的是循环,一个大循环包括10来个循环,结果显示的语句也不多,就是循环处理数据花费的时间长
周药师
2010-09-15
打赏
举报
回复
楼主发错地方了吧
这个属于SQL方面的问题了
dgsunzhua123
2010-09-15
打赏
举报
回复
建索引
把查询语句优化一下
其中的算法还是要你自己解决
升云
2010-09-15
打赏
举报
回复
需要优化2点
1. 你是使用dataTable进行数据查询的吗?
DataTable是很占用内存的,建议使用存储过程查出结果数据,之后使用DataTable进行显示,如果显示数据量大的话,采用存储过程分页结构,dataTable不要存储大于1000条的数据.
2.建立索引
10多万的数据如果不是很复杂的数据的话,建立良好的索引和查询语句是一般在0.5秒内就会有结果的
yoyo_
2010-09-15
打赏
举报
回复
建立索引
用存储过程,查询速度快~~
porschev
2010-09-15
打赏
举报
回复
http://tech.ccidnet.com/art/1106/20090223/1685811_1.html
wjhx
2010-09-15
打赏
举报
回复
1、建立合适的索引;
2、将数据进行预处理;
3、后端用合适的算法进行处理;
4、返回客户端较少的数据。
changjiangzhibin
2010-09-15
打赏
举报
回复
1 建立索引
2 优化查询语句
3 建立临时表
...
加载更多回复(2)
提高
ORACLE
数据
库的
查询
统计
速度
大型
数据
库系统中往往要用到
查询
统计,但是对于
数据
量大的系统,用户在进行复杂的
查询
统计时往往感到
速度
很慢,不能满足应用要求,这就要求我们在设计
数据
库系统时进行合理设置,
提高
查询
统计的
速度
。本文结合笔者的项目开发经验,阐述具体的设置方法。 以oracle7.33
数据
库系统为例,我们在开发大型oracle
数据
库系统时结合项目的特点,本着安全、高效的原则对
数据
库进行了一些物理设计,从而大大
提高
了
数据
库的查
提高
mysql
查询
速度
_如何
提高
数据
库
查询
速度
1、用程序中,保证在实现功能的基础上,尽量减少对
数据
库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,
提高
每次的响应
速度
;在
数据
窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在
查询
时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROM T...
数据
库
查询
速度
提高
方法
1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对
查询
进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is nu...
处理百万级以上的
数据
提高
查询
速度
的方法总结
处理百万级以上的
数据
提高
查询
速度
的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对
查询
进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中nu...
提高
Oracle
数据
库
查询
速度
的小建议
处理百万级以上的
数据
提高
查询
速度
的方法: 1.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。。。
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章