日期:2014-05-19  浏览次数:20696 次

【求助】一个执行效率的问题
我有几条sql语句,如下
insert   into   t1()

drop   table   temp_tbl

create   table     temp_tbl

insert   into   temp_tbl()

insert   into   t1()     //此处t1用到temp_tbl

drop   table   temp_tbl
我在查询分析器中一起执行,不超过5分钟
但是如果在程序执行的时候,大概20分钟后提示我超时,我的commandtimeout=600
程序中这几个语句是在一个事务中

这其中有什么问题吗?
谢谢各位了!




------解决方案--------------------
1、楼主把CommondTimeout的值设大些,如:99999999,这样可获得更长的反应时间。

2、楼主可用此种方式建临时表:Create Table #Temp_tb1,这样不需要手动用Drop删除,连接断开了,该表SQL Server会自动删除。
------解决方案--------------------
事务中的语句时间不要这么长
------解决方案--------------------
按理说应该不会这样.
考虑一下是不是执行后,t1表给锁住了....
怀疑是给锁住了..
------解决方案--------------------
我感觉事务中的操作,不能有因果依赖吧
比如要读上一步写入的数据,好像是不可以的~
------解决方案--------------------
改用存储过程吧~
------解决方案--------------------
改用存储过程试一下