在SELECT语句中声明光标时,不要使用for update子句。适用情况:每当他们适用时。查看CORSOR的代码,质疑每个SEL ECT进行更新语言。使用句子中的更新锁定行,从而降低了交易速度。重要提示:光标是一种强大的结构,用[公司建立了一个网站的多少]合适的,能够更快地进行编程,也加速交易。但是对于更新游标可能具有长期锁定数据。减少交易速度。参考数据库文档,看看您是否需要用于阅读oniy子句,最小化锁的数量。
[哪个网站建筑是建造的建设网站的
如果你用它,光标是一个非常强大的数据库控制结构,使用光标遍历并由光标查询(或操作)定义的处理数据。当您想要指定数据集时, 它遍历或遍历以处理数据集中的一行。光标非常有用。可以更新数据集中的数据项, 删除, 修改的, 或阅读,您也可以被其他进程查看。光标的真正电源是它可以作为编程语言扩展。因为许多进程和面向对象的编程语言没有内置管理关系数据库数据集。在高速交易系统中,在sel,使用ECP光标中的更新子句可能会导致问题。甚至引起死锁。
在许多数据库中,一旦打开了具有用于更新子句的光标,然后, 声明中的行被锁定,执行提交或回滚语句,直到执行会话。 提交语句保存修改, ROLLBACK语句取消所有修改。执行这两个陈述中的任何一个,将释放与数据库中行相关的锁定。此外,执行提交或回滚语句后,您将失去光标中的位置,您无法从光标中提取记录。
Pausecan您发现光标选择或updai8e可能导致两个问题?第一个问题是,光标将在操作期间保留数据库的锁定锁定。在许多情况下,这可能是有用的,即使在少数情况下,这是不可避免的,或者是最好的解决方案。[网站建设网站建设]但,执行一些操作时,这些锁将导致其他事务阻止或等待。如果这些操作复杂或需要一些时间,然后你将堆积很多要处理的事务。[制作哪个小程序]如果这些事务是用于执行“更新”的“选择”以执行更新的游标,然后我们可能会创建一个等候队列。队列处理时间由用户不大型网站建设哪家好可接受。在网络环境中,让缺乏耐心用户等待长期回应,使它们更多的要求,而且这个后来的请求可能更快。结果是灾难性的,我们的系统将停止,因为要处理的请求在数据库结束,它最终会导致Web服务器占用所有TCP端口。从而阻止响应用户。
第二个问题提示,它是由第一个问题引起的。必须等到之前的锁是除外,后一个光标可以锁定到当前锁定的一条或多条线。笔记,这些锁可能不是光标,它可以是一个显式锁,它也可以是RDBMS添加的隐式锁定。数据库中的锁定越多,交易的可能性越大, 业务越大,虽然需要一些锁。长期保留锁将导致频繁请求数据的响应时间放缓。一些数据库,如Oracle,NOWA有一个选定的天空键可释放控件
对于这个过程,在再次获得之前等待其他工作或等待。但,如果光标必须处理某些客户请求,所以, 为用户,最终结果是相同的,这是等待很长时间才能得到回复。
笔记,某些网站使数据库默认为光标中使用for Update子句。实际上,ANSI的SQL标准指示,默认情况下,任何游标都必须使用for Update子句。除非它在声明语句中使用for读取子句。开发人员和DBA应该参考他们的数据库文档,看看如何开发最小光标。
建设网络公司 定制网站哪家好
请立即点击咨询我们或拨打咨询热线: 13968746378,我们会详细为你一一解答你心中的疑难。项目经理在线