`
丁林.tb
  • 浏览: 799239 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

TARGET_AFFECT_ROWS 与 compound-statement 减少SQL交互的方案

阅读更多

背景

       上篇文章我们介绍了MySQL支持的compound statement SQL的语法。有同学指出这个只是“部分compound”,因为这种多语句语法中不支持if这样的逻辑操作,因此在业务中的使用会受限。

 

       这里我们给出一个常见的事务的逻辑。

    1) 更新一行

   2)若更新成功一行,则在另外一个表中插入一行,否则事务回滚。

  在这样的需求下,就是由于少了逻辑判断,导致无法用compound statement发整个事务,因此需要多次交互。

 

新增HINT

       在这类需求中我们发现,其实我们要的只是一个判断更新是否成功的判断。

因此设计这样的HINT及逻辑:

       UPDATEDELETE语句中增加HINT /*TARGET_AFFECT_ROWS n*/表示这个语句要求修改n行,若不满足这个条件,则认为事务需要回滚。

 

 

使用

       有了这个功能,在实现上诉的业务逻辑时,我们就能直接将以下语句发给Server:

       delimiter ;;

   begin; update /*TARGET_AFFECT_ROWS 1*/ t1  set b=b+1 where a=1 and b>=0; insert into ….; commit;;

      

       这样t1表中a=1这行的b<0, 整个事务无效.

 

小结

       其好处就是

       1\ 在正常执行时,只需要一次交互

       2\ 在需要回滚时,无需再发一个rollback命令。

 

     另外,特别说明,整个方案idea绝大部分来自于 @dbatools

  • 大小: 22 KB
1
3
分享到:
评论

相关推荐

    css.zip_affect6fy_dts_python

    标题中的"css.zip_affect6fy_dts_python"暗示了这个压缩包可能包含了与CSS(层叠样式表)相关的代码,同时提到了"affect6fy"、"dts"和"python"这三个标签。"affect6fy"可能是项目或作者的别名,"dts"通常指的是数据...

    ZJ050NA-08C_datasheet_monitor_LCD_affect1m6_

    "affect1m6"可能是该显示器的一个特定型号或特性代码,暗示了某种独特的显示效果或者技术指标。接下来,我们将深入探讨这款显示器的数据手册所涵盖的重要知识点。 首先,LCD显示器的核心是其显示面板,ZJ050NA-08C...

    RC.Software.OCR_c#ocr_c#文字识别_DEMO_文字识别_affect2cf_

    在这个项目中,C#被用来编写OCR应用程序的代码,包括用户界面、与百度API的交互以及图像处理等功能。 2. **OCR技术**:OCR技术通过识别图像中的形状和线条,将其转化为可编辑和搜索的文本。本项目利用了百度的OCR...

    多目标优化算法java.zip_affect4gx_java多目标优化_优化_多目标优化java_多目标优化算法

    多目标优化与传统的单目标优化不同,后者只关注一个目标函数的最优值。然而,在实际问题中,往往存在多个相互竞争的目标,如成本、效率、质量等。多目标优化算法的任务是找到一组解决方案,这些方案在所有目标上都尽...

    JLink_Windows_V648.zip

    DLL: Renesas RX: When connecting to locked RX devices via JTAG (does not affect FINE!), 16-byte IDCODE (OSIS) could be rejected even though the correct code was given. Fixed. DLL: Renesas S7G2: QSPI ...

    ffmpeg最新版 windows版本 可以执行文件

    -target type specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...) -apad audio pad -frames number set the number of frames to output -filter filter_graph set ...

    affect-the-power-quality-.rar_The Power_grid power quality_电能质量分

    本设计主要研究设计了电能质量相关指标和影响的各要素,然后叙述国内外相关研究设计成果,介绍了有关电能质量方面的一些概念,给出本课题要研究设计的主要内容,在此基础上,进一步分析了哪些因素能够影响到电能质量...

    微软内部资料-SQL性能优化3

    To support SERIALIZABLE transaction semantics, SQL Server needs to lock sets of rows specified by a predicate, such as WHERE salary BETWEEN 30000 AND 50000 SQL Server needs to lock data that does ...

    GROUP_AFFECT_EMOTION_RECOGNITION

    "GROUP_AFFECT_EMOTION_RECOGNITION"是一个项目或研究主题,主要关注群体情感识别技术。在当前数字化社会中,理解和分析人们的情绪对于各种应用场景,如社交媒体分析、客户服务、市场研究等都至关重要。群体情感识别...

    White_Paper_How Fiber-weave Effect .pdf

    White_Paper_How Fiber-weave Effect Can Affect Your High-speed Design

    英语四级作文万能句

    根据给定的信息,我们可以从标题、描述以及部分内容中提炼出一系列与英语四级写作相关的知识点。 ### 英语四级作文万能句 英语四级考试对于很多考生来说是一个重要的里程碑,而写作部分更是考验考生综合运用语言...

    SQL Server 2005 Expre混合模式登录设置

    对于那些希望使用 SQL Server 身份验证的用户来说,混合模式提供了一种解决方案;而对于习惯使用 Windows 身份验证的用户,则可以继续使用这种方式登录数据库。在实际应用中,混合模式通常用于以下几种情况: - ...

    Machines That Think_The Future of Artificial Intelligence-Prometheus Books 2018

    How will it affect you and your children? And how long will it be before some of the predictions occur? To avoid interruptions, I have put references and additional technical notes in endnotes. You ...

    Professional Microsoft SQL Server 2012 Administration

    With this book, a team of well-known SQL Server experts introduces the many new features of the most recent version of SQL Server and deciphers how these changes will affect the methods that ...

    高精手持样机展示素材可用于adobe_affect.zip

    标题中的"高精手持样机展示素材可用于adobe_affect.zip"表明这是一个高质量的手持设备样机集合,适用于Adobe Affect软件进行作品展示。然而, Adobe Affect 并不是一个广泛认知的软件名称,可能是指Adobe After ...

    进化聚类算法matlab源程序

    进化聚类算法是一种结合了进化计算与传统聚类方法的先进技术,主要应用于处理动态变化或者高复杂性的数据集。在MATLAB环境中实现这样的算法,能够有效地应对数据的不确定性,提高聚类效果。以下是对给定文件中涉及的...

    微软内部资料-SQL性能优化2

    Before we look at how SQL Server uses and manages its memory, we need to ensure a full understanding of the more common memory related terms. The following definitions will help you understand how SQL...

    大学英语四级模拟试题及答案.docx

    - **解析:**本题考查形容词的含义与语境搭配。句意表示昨天天气很好,因此决定出去开车兜风。选项A“glorious”意为“辉煌的,美好的”,符合语境。 2. **That is \_\_\_\_ behavior and nobody likes it.** - *...

    定语从句练习题及答案.pdf

    非限定性定语从句通常与主句之间用逗号隔开,对先行词的修饰不是必需的,即使去掉这个从句也不会影响到句子的基本意思。它的引导词同样包括关系代词和关系副词,但还可能使用关系代词which来引导。 #### 四、关系...

    php.ini-development

    ;;;;;;;;... 1.... 2.... 3.... 4.... 5.... 6.... The syntax of the file is extremely simple.... Section headers (e.g.... at runtime.... There is no name validation.... (e.g.... previously set variable or directive (e.g....

Global site tag (gtag.js) - Google Analytics