每天结帐时往另一个数据库导数据,导数据时速度很慢,占用了整个存储过程执行的一半时间,但是单独把这几条语句单独拿出来执行时,速度很快,不到两秒钟。
a、b、c三个表,在开始执行时先往这三个表写了一部分数据,然后再导数据。
insert a(字段1,字段2)select 字段1,字段2 from a
insert b(字段1,字段2)select 字段1,字段2 from b
insert c(字段1,字段2)select 字段1,字段2 from c
--导数据
insert wz.dbo.a(字段1,字段2)select 字段1,字段2 from a where bh in(select bh from djb where bz<>'n')
insert wz.dbo.b(字段1,字段2)select 字段1,字段2 from b where bh in(select bh from djb where bz<>'n')
insert wz.dbo.c(字段1,字段2)select 字段1,字段2 from c where bh in(select bh from djb where bz<>'n')
bh用的聚集索引,两个数据库用的一样的索引。
a、b、c三个表,在开始执行时先往这三个表写了一部分数据,然后再导数据。
insert a(字段1,字段2)select 字段1,字段2 from a
insert b(字段1,字段2)select 字段1,字段2 from b
insert c(字段1,字段2)select 字段1,字段2 from c
--导数据
insert wz.dbo.a(字段1,字段2)select 字段1,字段2 from a where bh in(select bh from djb where bz<>'n')
insert wz.dbo.b(字段1,字段2)select 字段1,字段2 from b where bh in(select bh from djb where bz<>'n')
insert wz.dbo.c(字段1,字段2)select 字段1,字段2 from c where bh in(select bh from djb where bz<>'n')
bh用的聚集索引,两个数据库用的一样的索引。
解决方案 »
- 求sql语句写法,谢谢。
- 新建数据库总是出现置疑
- 求一条sql语句
- 请问:怎么查询出字段T_Num 每种值的T_DateTime时间 最新的一条记录?**************************************
- 麻烦问下,怎么清除服务器上的arp病毒
- 请问应用程序里能执行sql server的dts包吗??
- 如何对某个字段的多个条目座同样的更新?
- 请大家帮忙推荐一本关于数据库开发的书
- 请问:查"张含晕"则提示"是否要查"张含韵"?(因为"晕"和"韵"是协音)这类的查询怎么做,难不难?(sql server2000)
- 散分
- 在企业管理器与查询分析器中打开同一个表时显示内容不一样
- sql自增表的创建问题?
1.硬件设施不足.
2.太多的索引.
3.太多的表连接.
4.插入大文本(如image,text...)
例如查询时使用了
select * from table where Upper(col) = 'A'
这样我们就不得不建立Upp(col)作为索引,这就是我们需要避免的。
可以在stored procedure中print出来每个语句执行时间。
还有,在什么地方运行stored procedure?是否需要考虑网络上时间消耗。