广告
返回顶部
首页 > 资讯 > 数据库 >MySQ中Select * for update用法的示例分析
  • 501
分享到

MySQ中Select * for update用法的示例分析

2024-04-02 19:04:59 501人浏览 薄情痞子
摘要

本篇文章为大家展示了MySQ中Select * for update用法的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。今天有个小伙伴问我Mysql什么时候

本篇文章为大家展示了MySQ中Select * for update用法的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

今天有个小伙伴问我Mysql什么时候需要使用悲观,也就是在执行语句的时候带上For  Update。教科书告诉我们,在一些对数据要求严格的,并且有着并发问题的场景。那么,是什么样的场景呢?

我举一个例子,我们在网上买票,从锁定座位到出票其实是一个比较“漫长”的过程,那么就存在这样一个业务场景,可能在我们锁定座位的时候,另外一个事务把这场电影停售了。那么,接下来的事务执行,就可能会出现一些异常。

因为我们在执行购票的时候,虽然也需要查询电影的在售状态,但由于我们只是查询电影的在售状态,所以只能取到该行数据的一个读锁,除非事务级别为串行化,不然别的事务仍然可以对该行数据进行修改。所以,即便我们只是一个读操作,我们仍然希望对该行数据加上一个锁,让别的事务只能读取,而无法修改该行数据,这就是数据库的悲观锁。

我们可以使用Select * for update 这样的姿势来使用这个功能。要注意到,这个不同的使用方法,我们的锁级别是不一样的。

  1. 明确指定主键,并且主键存在,那么这是一个行级锁,如果主键不存在,那么并不会加锁。如果明确指定的是索引,那么满足该索引的所有行都会加上锁。

  2. 如果select条件中并没有命中主键或者索引,那么这将是一个表级锁,也就是整个表的数据都不能够变更,但是可以新插入数据。另外一种情况,是没有正确的使用到索引,例如使用不等于,like作为筛选条件。要注意的是,如果悲观锁锁表的话,并发将会大大降低,所以,使用for  update的时候,切记要检查是否命中索引。

上述内容就是MySQ中Select * for update用法的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQ中Select * for update用法的示例分析

本文链接: https://www.lsjlt.com/news/68609.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQ中Select * for update用法的示例分析
    本篇文章为大家展示了MySQ中Select * for update用法的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。今天有个小伙伴问我Mysql什么时候...
    99+
    2022-10-19
  • mysql事务select for update及数据一致性处理的示例分析
    小编给大家分享一下mysql事务select for update及数据一致性处理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我...
    99+
    2022-10-18
  • MySQL中select、insert、update批量操作语句的示例分析
    这篇文章主要介绍了MySQL中select、insert、update批量操作语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了...
    99+
    2022-10-18
  • mysql中update语句的示例分析
    这篇文章主要介绍了mysql中update语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1,准备创建一张test表CREATE...
    99+
    2022-10-18
  • Mysql中select加锁的示例分析
    这篇文章将为大家详细讲解有关Mysql中select加锁的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引言大家在面试中有没遇到面试官问你下面六句Sql的区别呢select *...
    99+
    2023-06-02
  • SqlServer中批量update语句的示例分析
    这篇文章给大家分享的是有关SqlServer中批量update语句的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。现在我有两张表分别是S_PERSON,S_US...
    99+
    2022-10-18
  • MySQL中SELECT执行顺序的示例分析
    小编给大家分享一下MySQL中SELECT执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SELECT语...
    99+
    2022-10-18
  • HTML中select控件美化的示例分析
    这篇文章主要为大家展示了“HTML中select控件美化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML中select控件美化的示例分析”这篇文...
    99+
    2022-10-19
  • python中for循环的示例分析
    这篇文章将为大家详细讲解有关python中for循环的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、遍历可迭代的对象。循环的本质是首先通过iter()函数获得可迭代对象Iterable的迭代器...
    99+
    2023-06-15
  • mysql中select into outfile问题的示例分析
    这篇文章将为大家详细讲解有关mysql中select into outfile问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。01 背景s...
    99+
    2022-10-18
  • MySQL5.7中select半连接优化的示例分析
    这篇文章主要为大家展示了“MySQL5.7中select半连接优化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL5.7中selec...
    99+
    2022-10-18
  • iview中Select选择器多选校验方法的示例分析
    这篇文章给大家分享的是有关iview中Select选择器多选校验方法的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。iview提供的select组件中使用multiple...
    99+
    2022-10-19
  • angularjs中select赋值ng-options配置的示例分析
    这篇文章主要介绍angularjs中select赋值ng-options配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数组方式数据是数组$scope.years&nbs...
    99+
    2022-10-19
  • ES6中Iterator与for...of循环的示例分析
    这篇文章主要为大家展示了“ES6中Iterator与for...of循环的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ES6中Iterator与for...
    99+
    2022-10-19
  • vue中v-for循环对象的示例分析
    这篇文章将为大家详细讲解有关vue中v-for循环对象的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、循环对象内的值<body>    &l...
    99+
    2023-06-25
  • input中name,value以及label中for的示例分析
    这篇文章将为大家详细讲解有关input中name,value以及label中for的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。input具有很多属性,比较常用...
    99+
    2022-10-19
  • Java中方法的示例分析
    这篇文章给大家分享的是有关Java中方法的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是方法例如:System.out.println();其结构为-->类.对象.方法;其含义为-->调...
    99+
    2023-06-20
  • Python中算法的示例分析
    小编给大家分享一下Python中算法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 算法的设计要求算法分析的主要目标是从运行时间和内存空间消耗等方面...
    99+
    2023-06-22
  • vue3 中computed 新用法的示例分析
    这篇文章给大家介绍vue3 中computed 新用法的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。vue3 中 的 computed 的使用,由于 vue3 兼容 vue2 的选项式AP...
    99+
    2023-06-21
  • vue.js中双层嵌套for遍历的示例分析
    小编给大家分享一下vue.js中双层嵌套for遍历的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!主要运用 templa...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作