情况描述:数据量比较大,而且随着时间增加不断增大,已经对表进行按年分表,并且按月进行分区。但现在需要在数据表中计算,最大的计算时间段为整年、不跨年。由于计算的东西非常多,一个程序效率不够。计算的大部分都是由存储过程实现的。
请各位大侠:能否分多个程序进行计算,来提高效率?
或者有更好的实现?
谢谢,跪求指教。小弟初入水,分不够。
请各位大侠:能否分多个程序进行计算,来提高效率?
或者有更好的实现?
谢谢,跪求指教。小弟初入水,分不够。
可以考虑使用低的事务隔离级别:read uncommited,也就是俗称的脏读.
这样可以减少大量的锁定(Lock).
http://blog.csdn.net/chenyu5188/archive/2004/02/15/13953.aspx
数据库里面没有一个"fast=true"的简单开关先检查算的慢的原因是不是你的sql级导致的吧...
看看执行计划,多加点print打出时间,看看哪些步骤耗时较多.在确保sql语句级没有问题之后再去着手实例的优化
一般要按日、周、月、季度、年来统计read uncommited如何设置,会有多大误差?
方法是: select * from [表名] with (nolock)
什么样的查询效率对SQLServer才算合理呢?