当前位置:380元网站建设 虎网站 > 建站百科 > 正文

不要使用SELECT FOR UPDATE

发布日期:2020-03-17
在SELECT语句中声明游标时,不要使用 FOR UPDATE从句。适用情形:无论何时都适用。审查关于游标的代码,质疑每个 SEL ECT FOR UPDATE语向。使用 FOR UPDATE从句会锁定行,从而降低事务处理速度。要点:游标是一种强大的结构,使用得当,能够使编程更快更容易,同时还能加速事务处理。但 FOR UPDATE游标可能会长期锁定数据,降低事务处理速度。参考数据库文档,看是否需要使用 FOR READ ONIY从句,最小化锁的数量。

不要使用SELECT FOR UPDATE

如果使用得当,游标是非常强大的数据库控制结构,利用游标可以遍历和处理游标査询(或操作)定义的结果集中的数据。在要指定一个数据集进行遍历或遍历处理数据集中的行时,游标非常有用。数据集中的数据项可以更新、删除、修改或读取,也可以被其他进程査看。游标的真正强大之处在于可以作为程序设计语言的扩展,因为许多过程和面向对象的程序设计语言都没有提供内置的管理关系数据库的数据集的功能。在高速事务处理系统中,在SEL,ECP游标中使用 FOR UPDATE从句可能造成问题,甚至造成死锁。

在许多数据库中,一旦打开了具有 FOR UPDATE从句的游标,那么该语句查询到的行都会被锁住,直到会话中执行到了提交或回退语句为止。 COMMIT语句会保存修改, ROLLBACK语句会取消所有的修改。执行到这两个语句中的任何一个,与数据库中的行相关的锁都会被释放掉。此外,执行了提交或回退语句后,你就会失去在游标中的位置,不能再从游标中提取记录了。

暂停一下,你能发现游标SELECT OR UPDAI8E至少可能会造成两个问题吗?第一个问题是,游标会在执行操作时一直保留数据库行的锁。在许多情况下,这样可能都是有用的,甚至在少数情况下,这样做是不可避免的,或者是最佳方案。但是,在执行某些操作时,这些锁会使其他事务一直阻塞或等待。如果这些操作很复杂或需要花费一些时间,那么就会堆起许多待处理的事务。如果恰好这些事务是游标执行 SELECT FOR UPDATE操作要执行的,那么我们可能就会创建了一个等待队列,而队列的处理时间是用户不能接受的。在Web环境中,让缺乏耐心的用户等待漫长的响应会造成他们发起更多的请求,而这后来的请求有可能会完成得更快。结果是灾难性的,我们的系统会停机,因为待处理的请求堆在数据库端,最终会造成Web服务器占用了所有TCP端口,从而停止响应用户。

第二个问题前面提示过,是第一个问题造成的。必须等到之前的锁清除了,后面的游标才能对当前锁住的一行或多行加锁。注意,这些锁可能不是游标加的,它可以是用户加的显式锁,也可以是 RDBMS加加的隐式锁。数据库中的锁越多,事务堆积的可能性越大,虽然有些锁是必需的。长期保留的锁会造成对经常请求的数据的响应时间变慢。有些数据库,如 Oracle,有选用的天键子NOWA 可以把控制权释放

给进程,用于执行其他的工作或在再次取得锁之前等待。但是,如果游标必须处理某些同时发生的客户请求,那么对用户来说,最终结果是一样的,就是客户端请求都需要等待很久才能得到响应。

注意,有些网站制作数据库默认会在游标中使用 FOR UPDATE从句。事实上,ANSI的SQL标准指示,任何游标都要默认使用 FOR UPDATE从句,除非它在 DECLARE语句中使用了 FOR READ ONLY从句。开发人员和DBA应该参考他们的数据库文档,看看如何开发锁最少的游标。

日本旅游必备大阪穿衣指南,让你在旅途中时刻保持时尚感

    1. 大阪的气候如何?该怎样穿衣服? 大阪的气候四季分明,夏季炎热潮湿,冬季寒冷干燥。春季和秋季气候宜人,适宜穿着轻便的衣服。因此,如果您在春季或秋季来到大阪旅游,建议穿着轻便的衬衫、T恤、短裤或长裤。夏季时,可穿着轻便、透气的衣服,例如短袖T恤、短裤、运动鞋等。冬季时,需要穿着保暖的衣物,例如羽绒服、毛衣、长裤、围巾等。 2. 大阪的时尚潮流是什么? 大阪是日本的时尚之都,拥有众多的时尚品牌和...

       企业网站设计网站文字的设计方式 网站文字的设计方式 。该网站在文字设计方面所演绎出的构思创意无限,其中像材字就运用了图形化的设计转化,将其转化为拥有美术感觉的新生事物,即网站平面版式语言。这种生动的变化在艺术形式创新方面独具特色。整个材字左右部分上下交错,其中才的一边头上设计了拼音字母CAI作为罗马字符点缀,如此就体现了罗马字符的独特美感与气质。另外,该网站在设计方面运用到了段落性的说明文字,其文字的设计会分清主次关系,特别强化...

       找合适的网站建设企业做网站需要注意什么 互联网时代的高速发展,网络已经是生活中不可缺少的一部分,而在企业的发展过程中,同样也缺少不了互联网渠道的宣传。俨然,企业官网已经成为了企业的门面,消费者在对于企业不熟悉的情况下,通常是通过官网潜意识的评判这家企业产品质量及服务实力,因此企业 网站开发 设计非常重要,那想找网站建设企业开发设计网站需要注意什么呢?   一、网站定位   无论想做什么类型的网站,企业都需要明确网站的定位,之所以要明确定...

       网站制作前期需要考虑哪些问题? 随着互联网中网民数量的不断增加,网络营销市场的持续火爆,现在很多的企业都开始建设官网,并且都希望自己企业的官网能够在众多网站中脱颖而出,然而对于企业而言,想要制作成功的网站那么在网站建设之前,就必须深思熟虑,认真考虑几个建设的关键点,制定一份详细的规划,这样你的网站运营的时候才不会那么盲目,才可能取得成功。下面 天津网站建设 - 虎网科技 的小编来带大家看看建站初期需要考虑的几个关键性问题。 ...

       提高网站用户体验可以从哪些方面出发 1.网站的风格 其实网站建设就好比人的穿着打扮一样,要找对适合自己的风格才能让人有印象,也让自己有自信。网站建设也需要一个整体的风格定位,例如细节的体现,我们需要注重主色调与产品色调的搭配。 2.网站的内容 网站持续更新这个话题其实也跟大家谈过很多遍了,由此可见网站内容的维护对于企业是多么重要吧。网站不论是产品还是信息内容都要做到持续更新,让网站看起来有价值有料,如若不然,网站长期不进行更新维护,...

       企业商城网站建设的几个关键节点 建设一个企业网站,首先要判断清楚网站的主要作用   有的网上商城网站是为了展示企业形象和实力;有的网上商城网站是为了更好的宣传商品,公告最新事务,这个与客户所处的行业息息相关,各行各业都各有所需,例如:学校网上商城网站除了公告校园环境、师资力量、学员信息以外,更重要的是为了吸收生源,这个关键点确认以后,其他网上商城网站内容体现就有了侧重点;品牌网上商城网站建设主要是彰显个性,例如手表、珠宝等品牌,...

最新模板
少儿英语培训机构网站建设 培训公司网站建设
成人自考网站建设 成人培训网站制作设计版面
智能家居摆设设计网站建设 智能家居装修企业网站建设
铜螺母,铜螺丝,螺栓,螺钉工厂网站建设
废气处理设备,如活性炭吸附箱、RTO蓄热式氧化处理设备、光氧等离子复合设备 低温等离子设备 光氧催化设备等网企业网站建设
图文阅读