首页 新闻 会员 周边

asp.net 页面查询的数据量当达到千W级别的的时候应该怎么优化?

0
悬赏园豆:100 [已关闭问题] 关闭于 2011-09-26 16:10

RT,现在我这有个项目,因为涉及的数据量比较庞大,用正常的存储过程差出来的数据也非常慢,想问下怎样才能够优化下这些,

咆哮的野猪的主页 咆哮的野猪 | 初学一级 | 园豆:60
提问于:2011-08-30 10:55
< >
分享
所有回答(6)
0

可以用分頁,不用一次查詢出所有數據,根據條件篩選頁數和記錄條數。

rose_liang | 园豆:205 (菜鸟二级) | 2011-08-30 11:10
当然用分页了,而且不是一次查,但是你分页即使用存储过程,当数据达到千万级的就会卡,
支持(0) 反对(0) 咆哮的野猪 | 园豆:60 (初学一级) | 2011-08-30 11:56
0

  数据问题  涉及数据上千万了  就得 提高  服务器的配置了

  如果只是优化代码  很难 优化到 理想地步

  无法就是考虑 添加索引什么的

 如果还不行  升级服务器吧

只是菜鸟 | 园豆:270 (菜鸟二级) | 2011-08-30 13:36

我是考虑到索引,但是就是不知道要怎么加进那些地方

支持(0) 反对(0) 咆哮的野猪 | 园豆:60 (初学一级) | 2011-09-20 16:27
0

服务器升级硬件+ 缓存,到这个级别缓存是必须的

不知道用什么昵称了 | 园豆:245 (菜鸟二级) | 2011-08-30 16:31
0

1.优化存储过程

2.服务器升级

3.关键地方加索引

我们的数据都过亿了,.没别的办法, 把表分来分去, 拆来拆去

dearz | 园豆:588 (小虾三级) | 2011-08-30 17:39

加索引,然后分割表么?一些以前的数据就分到一张表的一个硬盘么?就像2011的就分到2011

支持(0) 反对(0) 咆哮的野猪 | 园豆:60 (初学一级) | 2011-09-20 16:28

以前的数据建议放到另外一个数据库.

基础数据和统计数据分开2个库,多做一写视图,将大表尽量用视图查看,

还有,如果有的东西需要更新,可以放到晚上12点以后在通过任务更新,不要实时更新给服务器压力

支持(0) 反对(0) dearz | 园豆:588 (小虾三级) | 2011-09-20 16:45

我这个的数据是按照类别来查询的,而且其中的大类下面有小类,小类下面还有小类,我要先查询出来所有的类别,然后通过这些类别的编号再去查询数据,这样来来回回,查询出来的数据就慢了很多,而且写视图也只是把一些数据事先写进去把?然后查的时候就先查这个

支持(0) 反对(0) 咆哮的野猪 | 园豆:60 (初学一级) | 2011-09-20 17:54

@咆哮的野猪:你如果单单说一个特殊的查询语句,那就没办法了,

你这个类别查询就这逻辑,在怎么弄还是得这样.

我的存储过程有的时候要执行14个小时以上,....有些是没办法. 只能减少操作次数.

支持(0) 反对(0) dearz | 园豆:588 (小虾三级) | 2011-09-21 08:32
0

很多层面吧。
1.LS 说的提高硬件置
2.数据库优化  这个是很明显的(同样的业务不同人写效果也有可能不同 比如加 nolock 使用临时表,创建索引 等等)
3.代码优化

clound | 园豆:481 (菜鸟二级) | 2011-08-30 18:56
0

你好,如果方便的话

麻烦把执行比较耗时的SQL语句及其执行计划贴出来以供园友分析调优!

dotNetDR_ | 园豆:2078 (老鸟四级) | 2011-09-06 01:12

我的是执行的存储过程,但是当数据量很大的时候那存储过程好象也没怎么顶用,照样很卡

支持(0) 反对(0) 咆哮的野猪 | 园豆:60 (初学一级) | 2011-09-20 16:28

@咆哮的野猪:

执行计划 != 存储过程 

#_#~~!

一般性能调优都是分析执行计划然后在调整相应的索引键和看情况建立分区的~~

支持(0) 反对(0) dotNetDR_ | 园豆:2078 (老鸟四级) | 2011-09-20 16:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册