社区
MS-SQL Server
帖子详情
强烈讨论:存储过程 -- 同一段时间执行的影响
winnet
2003-12-18 09:03:12
有一个很大的存储过程,其中用到N个临时表和游标,如果有一用户在执行这个存储过程的时候(也就是存储过程还没有执行完毕),另一用户又执行这个存储过程,那样会有什么样的结果?怎样控制?
...全文
162
14
打赏
收藏
强烈讨论:存储过程 -- 同一段时间执行的影响
有一个很大的存储过程,其中用到N个临时表和游标,如果有一用户在执行这个存储过程的时候(也就是存储过程还没有执行完毕),另一用户又执行这个存储过程,那样会有什么样的结果?怎样控制?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
winnet
2003-12-20
打赏
举报
回复
请大家继续发表意见
cgsun
2003-12-18
打赏
举报
回复
到N个临时表和游标,用臨時的,但是數據是所有用共有的,
注意事務,鎖的運用
Arionma
2003-12-18
打赏
举报
回复
在语句中多做回馈信息,这样也方便调试。
txlicenhe
2003-12-18
打赏
举报
回复
一般都不会有问题的。
注意不要用全局临时表,全局游标,全局变量之类的。
w_rose
2003-12-18
打赏
举报
回复
事实上,即使不用begin tran语句,SQL Server也会为每一个改变数据的SQL命令隐含地创建事务,因此SQL Server程序员可以高枕无忧。如果你用过其它数据库处理过大的业务量,就知道不做保守的保护操作的危害了。一些号称很快的数据库系统,例如mySQL、interbase、Access等,程序员很难在设计大型商业系统时方便地对用户体现“责任感”——保护数据在任何意外情况下的一致性。
w_rose
2003-12-18
打赏
举报
回复
SQL Server是一个“事物安全的系统,也就是说自动的事务保护、LOG是它的“底线”(这与mySQL不在同一个层级),因此,当有多个事务共同操作数据的时候,数据因为(显示的或者隐含的)事务保护的原因而不会出现“混乱”——如果没有事务冲突则过程并行执行,如果有冲突则事务顺序执行。
zjcxc
元老
2003-12-18
打赏
举报
回复
临时表定义成局部的,即:#临时表名
游标也定义成局部的,即:declare 游标名 cursor local for
就不会有影响了.
lfangxiao
2003-12-18
打赏
举报
回复
另外定义游标的时候一定要注意游标的作用域的问题,因为多用户环境下定义全局游标会引起很大的阻塞
ghosthjt
2003-12-18
打赏
举报
回复
在存储过程中多用事务,多提交事务。
tjan
2003-12-18
打赏
举报
回复
是否可以首先考虑精简其业务流程,如果不能精简的话,再考虑优化存储过程内的每个 SQL 语句、减少临时表的数量、减小临时表中的数据量、用循环代替游标等。
tjan
2003-12-18
打赏
举报
回复
#临时表是每个进程独有的,不会产生任何的冲突
##临时表是全局的,会产生冲突的
hiyo
2003-12-18
打赏
举报
回复
补充一句:最好少用或不用临时表
hiyo
2003-12-18
打赏
举报
回复
首先考虑精简其业务流程,如果不能精简的话,再考虑优化存储过程内的每个 SQL 语句、减少临时表的数量、减小临时表中的数据量、用循环代替游标等
winnet
2003-12-18
打赏
举报
回复
我的存储过程里用到的都是局部的临时表和游标,变量.
现在的问题是,第一个用户在执行存储过程,也就是有一些临时表是建立啦,,但未执行完的时候是不删除的,但这时另一用户又执行,是不是什么创建临时表出错????
还有SQL会为每一个用户在执行存储过程的时候独立分出一个内存空间来处理这个用户的数据,还有众多用户共用???
oracle 运行jobs,ORACLE jobs
执行
有关问题,JOBS
执行
一
段时间
后失效
ORACLE jobs
执行
问题,JOBS
执行
一
段时间
后失效。创建了一个JOBS对序列每天进行删除重建也许几天之内
执行
没有问题,几天后突然就失效了。BEGINSYS.DBMS_JOB.REMOVE(141);COMMIT;END;/DECLAREXNUMBER;BEGINSYS.DBMS_JOB.SUBMIT(job=>X,what=>'ClearS...
如何让java程序
执行
一
段时间
后停止
如何让java程序
执行
一
段时间
后停止 1、概述 在本文中,我们将学习如何在一
段时间
后结束长时间运行的任务。我们将探讨这个问题的各种解决方案。此外,还将介绍各种方案缺点。 2、使用循环 假设我们在一个循环中处理一组数据,比如电子商务应用程序中循环获取产品项的一些信息,但可能没有必要完成所有项的处理。 实际上,我们希望只处理某一特定时间之前的内容,在此之后,我们希望停止
执行
,并显示列表在此时间之前处理的内容。 代码例子如下: long start = System.currentTimeMillis()
MySQL停止正在
执行
的
存储过程
或会话的方法
使用KILL命令可以有效地终止正在
执行
的
存储过程
。如果您正在使用 MySQL 客户端工具,您还可以通过工具的界面来终止
存储过程
。在终止
存储过程
之前,请确保您有足够的权限,并考虑到事务和资源释放的
影响
。
从众:
影响
行为
从众现象是一种社会化的行为,明智的人利用从众造福大众,愚蠢的人利用从众引发社会动荡。在从众行为发生时,一定要保持一些独立性,不然会发生悲剧。 信息性社会
影响
规范性社会
影响
日常生活中的规范性社会
影响
少数人的
影响
1.信息性社会
影响
从众的本质是由于真实或想象中他人的
影响
而改变行为。我们从众是因为我们相信其他人对一个模糊情境的解释比我们自己的解释更准确,而且可以帮助我们选择...
Sql Server中
存储过程
使用时间长了查询效率变得很慢的分析
给客户尽快
MS-SQL Server
34,876
社区成员
254,635
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章