可以用分頁,不用一次查詢出所有數據,根據條件篩選頁數和記錄條數。
数据问题 涉及数据上千万了 就得 提高 服务器的配置了
如果只是优化代码 很难 优化到 理想地步
无法就是考虑 添加索引什么的
如果还不行 升级服务器吧
我是考虑到索引,但是就是不知道要怎么加进那些地方
服务器升级硬件+ 缓存,到这个级别缓存是必须的
1.优化存储过程
2.服务器升级
3.关键地方加索引
我们的数据都过亿了,.没别的办法, 把表分来分去, 拆来拆去
加索引,然后分割表么?一些以前的数据就分到一张表的一个硬盘么?就像2011的就分到2011
以前的数据建议放到另外一个数据库.
基础数据和统计数据分开2个库,多做一写视图,将大表尽量用视图查看,
还有,如果有的东西需要更新,可以放到晚上12点以后在通过任务更新,不要实时更新给服务器压力
我这个的数据是按照类别来查询的,而且其中的大类下面有小类,小类下面还有小类,我要先查询出来所有的类别,然后通过这些类别的编号再去查询数据,这样来来回回,查询出来的数据就慢了很多,而且写视图也只是把一些数据事先写进去把?然后查的时候就先查这个
@咆哮的野猪:你如果单单说一个特殊的查询语句,那就没办法了,
你这个类别查询就这逻辑,在怎么弄还是得这样.
我的存储过程有的时候要执行14个小时以上,....有些是没办法. 只能减少操作次数.
很多层面吧。
1.LS 说的提高硬件置
2.数据库优化 这个是很明显的(同样的业务不同人写效果也有可能不同 比如加 nolock 使用临时表,创建索引 等等)
3.代码优化
你好,如果方便的话
麻烦把执行比较耗时的SQL语句及其执行计划贴出来以供园友分析调优!
我的是执行的存储过程,但是当数据量很大的时候那存储过程好象也没怎么顶用,照样很卡
@咆哮的野猪:
执行计划 != 存储过程
#_#~~!
一般性能调优都是分析执行计划然后在调整相应的索引键和看情况建立分区的~~