当前位置: 首页 > news >正文

简单聊一下Oracle,MySQL,postgresql三种锁表的机制,行锁和表锁

MySQL:  

MySQL使用行级锁定和表级锁定。行级锁定允许多个会话同时写入表,适用于多用户、高并发和OLTP应用。表级锁定只允许一个会话一次更新表,适用于只读、主要读取或单用户应用。

比如mysql开启一个窗口执行

begin;
update xc_county_all_copy1 set city_name='阿里巴巴' where city_name='北京';

如果不commit;或者rollback,想再开一个新窗口去修改这个表的其他行数据

begin;
update xc_county_all_copy1 set city_name='腾讯' where city_name='广州';

此时我想更新的并不是同一行数据,因为加了where条件限定了,然后就会出现

简单来说这个就是表锁定,就是第一个update已经控制表了,如果没有执行提交撤销操作,就会锁表。

Oracle:
Oracle数据库使用一种称为多版本读一致性的机制,即使一行正在被更新,其他的事务也可以读取到这一行的数据。
当你执行一个更新操作时,Oracle只会锁定被影响的行。

PostgreSQL:
PostgreSQL提供了各种锁定模式来控制对表中数据的并发访问。PostgreSQL在事务访问或修改数据库对象时,会自动获取锁。

简单来说mysql和Oracle一样,是支持在更新表的局部数据的,也就是行锁,如还是那个案例在postgresql中运行,

我在一个重新中更新一条,没有提交事务。

然后我在另外一个窗口更新这张表的另外一行。

就是可以同时在一张表上更新不同的行数据,这个就是行锁。我的理解错的话欢迎指正。

相关文章:

  • python爬虫:实现动态网页的爬取,以爬取视频为例
  • 【C++进阶学习】第一弹——继承(上)——探索代码复用的乐趣
  • 6.14作业
  • 【Ardiuno】实验ESP32单片机自动配置Wifi功能(图文)
  • Solr7.4.0报错org.apache.solr.common.SolrException
  • 3、matlab单目相机标定原理、流程及实验
  • Linux2(文件类型分类 基本命令2 重定向)
  • 英伟达算法岗面试,问的贼专业。。。
  • 干货!电脑如何录屏?6款win10录屏大师软件深度测评
  • ElasticSearch的桶聚合
  • 如何基于 Python 快速搭建 QQ 开放平台 QQ 群官方机器人详细教程(更新中)
  • 学了这篇面试经,轻松收割网络安全的offer
  • 主流后端开发语言对比
  • linux 网桥学习
  • 多视图变换矩阵与SLAM位姿估计中的地图点投影的几何约束
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • C++类中的特殊成员函数
  • Java Agent 学习笔记
  • js写一个简单的选项卡
  • miaov-React 最佳入门
  • Mybatis初体验
  • MySQL几个简单SQL的优化
  • spring + angular 实现导出excel
  • vue--为什么data属性必须是一个函数
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 聊一聊前端的监控
  • 前端之React实战:创建跨平台的项目架构
  • 探索 JS 中的模块化
  • 物联网链路协议
  • 一个完整Java Web项目背后的密码
  • Spring Batch JSON 支持
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $L^p$ 调和函数恒为零
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (动态规划)5. 最长回文子串 java解决
  • (分类)KNN算法- 参数调优
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (强烈推荐)移动端音视频从零到上手(下)
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (五)c52学习之旅-静态数码管
  • (转)memcache、redis缓存
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • ./configure,make,make install的作用
  • .ai域名是什么后缀?
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET CLR Hosting 简介
  • .NET Core中的时区转换问题
  • .NET Framework杂记
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET程序集编辑器/调试器 dnSpy 使用介绍
  • .net通过类组装数据转换为json并且传递给对方接口