暂无图片
什么是事务?什么是锁?
我来答
分享
暂无图片
Halo Tech
2023-11-08
什么是事务?什么是锁?

什么是事务?什么是锁?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
X
x

表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。

行级锁:开销大,加锁慢;会出现死锁;锁定力度最小,发生锁冲突的概率最低,并发度也最高。

页面锁:开销和加锁时间界于表锁和行锁之间,会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。


行锁:在mysql的innodb引擎支持行锁,与oracle不同,Mysql的行锁是通过索引加载的,也就是说,行锁是加在索引响应的行上的,要是对应的sql语句没有走索引,则会全表扫描,行锁则无法实现,取而代之的是表锁,此时其他事务无法对当前表进行更新或插入操作。

暂无图片 评论
暂无图片 有用 9
打赏 0
董大威

事务的特性:
1、原子性:整个事务中的所有操作,要么全部完成,要么全部不完成
2、一致性:在事务开始之前和事务结束以后,数据的完整性必须保持一致。
3、隔离性:事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
4、持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
Halo Tech

事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将一组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。

锁:在所有的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。共享锁(只读不写)、排他锁(可读可写)

暂无图片 评论
暂无图片 有用 0
打赏 0
victoryau

事务

比如在购物网站上买东西。整个购买过程包括选商品、付款、减库存等多个步骤。这整个过程就像一个“事务”。在数据库中,事务确保这些步骤要么全部完成,要么一个也不做。就像你要么买到东西(所有步骤都完成),要么什么都没发生(比如付款失败,什么都不会改变)。

事务的主要特点是:

  • 原子性:事务中的操作要么全部完成,要么一个也不做。
  • 一致性:事务完成后,数据库从一个正确的状态转移到另一个正确的状态。
  • 隔离性:每个事务都是独立的,不会被其他事务干扰。
  • 持久性:一旦事务完成,其结果就永久保存在数据库中。

比如在图书馆里找书。如果某本书你正在看,别人就不能同时拿走它。数据库里的“锁”就是这个意思。它确保当一个事务在操作一部分数据时,其他事务不能同时改这部分数据。

锁的主要作用是:

  • 保护数据:防止多个事务同时修改同一数据,导致数据错乱。
  • 确保一致性:通过控制对数据的访问,确保事务的一致性和完整性。

锁可以有不同的类型,比如:

  • 共享锁:允许多个事务读同一数据,但不允许修改。
  • 排它锁:如果一个事务对数据加了排它锁,其他事务就既不能读也不能写这部分数据。
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
关于GoldenDB在广发银行核心业务的投产详情
回答 1
广发银行是中信银行之后使用GoldenDB替换掉核心的股份制银行。
SM4算法实现数据加密解密功能,密钥长度不超过多少位字符?
回答 1
已采纳
SM4算法是一种分组密码算法,其密钥长度固定为128位。因此,使用SM4算法进行数据加密解密时,密钥长度不能超过128位。通常情况下,密钥以十六进制字符串的形式表示,即长度为32个字符。
羲和Halo数据库测试版与正式版有什么不同?
回答 1
已采纳
功能上没有不同,只是license有时间限制
SUNDB数据库有一带一路的部署规划吗?
回答 1
百年未有之大变局的环境因素下,SUNDB数据库以独家优势为出发点,更好的推动国产数据库迈向世界的最前沿。
opengauss如何指定不同表空间在不同磁盘上,而不是使用相对路径
回答 3
已采纳
就是直接用location
现在,上云成为大势所趋,那数据库如何实现云化呢?
回答 2
万里数据库实现云化有2种方式:1、通过运维管理平台对外提供标准restfulapi,可以与云管服务中心进行对接,实现数据库集群在云端IaaS资源基础上的创建、销毁、扩缩容、备份恢复、配置管理等日常运维
对于我们而言,万里自研的数据库有哪些技术亮点呢?
回答 1
感谢您的关注,万里自研的数据库有以下几方面技术优势:采用sharenothing的事务库集群在线横向分层按需扩缩容,性能准线性提升对外提供标准mySQL协议,无缝兼容mySQL生态自动failover
数据有重量吗,一个数据库承载的数据量是多少,换成质量的话能有多重?
回答 9
这个问题问题高端大气上档次!单纯数据无法判断。简单来说看服务器质量和磁盘质量就够了。
OushuDB中如何进行清除OushuDB metadata缓存
回答 1
使用如下命令清除OushuDBmetadata缓存,可以加速缓存的更新。postgresselectgpmetadatacacheclear();
SUNDB分布式事务是否支持XA接口?采用什么协议和原理?
回答 1
通过二阶段MVCC提交的方式支持分布式事务,确保分布式数据库内部的跨节点的事务一致性,对用户使用来说,使用分布式数据库就像使用单机数据库一样。SUNDB支持XA接口,用户可以通过该接口来实现异构/同构
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~