首页 > 其他分享 >锁的分类总结

锁的分类总结

时间:2023-09-14 19:23:39浏览次数:36  
标签:总结 事务 分类 update 数据表 不能变更 sql 操作

//如果一条线程执行了sql+ for update ,另一条线程也执行同一条 sql+ for update 就会阻塞,直到释放排他锁。

//按照锁的细粒度来分
//行锁:锁定数据表中某行数据。
// 其他事务不能变更操作,允许查询(旧数据)。
//表锁:锁定整个数据表。
// 其他事务不能变更操作,允许查询(旧数据)。 LOCK TABLES和UNLOCK TABLES;
//间隙锁:锁定一个范围内的数据行之间的间隙或空隙。
// 其他事务不能在范围内进行任何变更操作,允许查询(解决幻读)。sql+ for update。
// mysql 5.7后用的是innodb,隔离机制是 可重复读,不存在幻读问题。
//页锁:对数据库表中的一页数据进行加锁。


//按照锁的类型来分
//共享锁(读锁):锁定数据表中某行数据。
// 其他事务不能变更操作。LOCK IN SHARE MODE。
//排他锁(写锁):锁定数据表中某行数据.
// 其他事务不能变更操作,允许查询(旧数据)。sql+ for update。

//按照不同的并发控制策略来分
//悲观锁:认为任何操作是存在安全问题,需要加锁,其实就是只允许一个线程对共享资源进行操作。
//多个事务可以同时读取同一份数据,其他事务不能变更操作,允许查询(旧数据)。
// 行锁、表锁、间隙锁、写锁就是悲观锁的体现。
//乐观锁:认为变更操作存在安全问题,需要加锁,用于修改、删除操作 通过版本号进行逻辑判断。
// 先找到version号,修改(version号+1,修改属性),删除,where以version号为条件   我的CSDN

标签:总结,事务,分类,update,数据表,不能变更,sql,操作
From: https://www.cnblogs.com/yblue/p/17703223.html

相关文章

  • 迭代器的总结和生成器
    迭代器的总结和生成器迭代器总结(迭代取值和索引取值的对比生成器(自定义的迭代器)(yield)生成器表达式yield和return的对比迭代器总结(迭代取值和索引取值的对比迭代取值 1.不依赖于索引取值的一种取值方式2.不能够重复取值,只能够从左往右固定取值索引取值 1.......
  • 数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、
    全文链接:http://tecdat.cn/?p=27384最近我们被客户要求撰写关于葡萄酒的研究报告,包括一些图形和统计输出。在本文中,数据包含有关葡萄牙“VinhoVerde”葡萄酒的信息介绍该数据集(查看文末了解数据获取方式)有1599个观测值和12个变量,分别是固定酸度、挥发性酸度、柠檬酸、残糖、......
  • 每日总结(phoenix主键自增)
     1CREATETABLEIFNOTEXISTSactive_active(2idBIGINTPRIMARYKEYNOTNULL,3nei_rongVARCHAR4);56CREATESEQUENCEIFNOTEXISTSseq;在上述示例中,我们首先创建了一个名为seq的序列,然后将表active_active的id列定义为BIGINT类型的主键列,并且不允......
  • 迭代器总结、生成器、生成器表达式、常用的68个内置函数
    迭代器总结(迭代取值和索引取值的对比)#迭代器主要就是一个迭代取值,另外一种取值方式就是索引(下标)取值l=[1,2,3,4]res=l.__iter__()res.__next__()#1res.__next__()#2res1=l.__iter__()res1.__next__()#1res1.__next__()#2迭代取值 1.不依赖......
  • Codeforces Round 897 (Div. 2) 考试总结
    前言这次打得很好,相较于div3的脑残题和签到题来说,div2的思维难度更加的大。同时还有除传统题外,其他的题型出现。比如交互题等。这次能在考场上想出三道较于之前是有很大的进步的。赛时实况:ABCDE1E2F√√√××××赛后改题情况:ABCDE1E2F......
  • 异常知识点的总结
    第一部分:异常及异常处理思考:1.什么是异常?python中有哪些异常?===》异常本身是类print(a)#NameError:name'a'isnotdefined错误类型NameErrorprint(3+'a')#TypeError:unsupportedoperandtype(s)for+:'int'and'str'deff:print(123)#......
  • 公司某产品MySql分布式架构总结
    这个是目前公司某产品Server端MySql分布式架构总结(内容总结自wiki),该产品同时使用了Mysql和MongoDB。本篇Blog只做Mysql分布式架构的介绍。----------------------------------------------------一、共4台Linux服务器A\B\C\DAmasterwithslaveBC......
  • 关系数据库扩展知识总结
    最近在学习分布式数据库架构相关的知识(主要是Mysql),并对数据库扩展这部分知识整理总结了一下,希望对看到的人有所帮助,也希望读者能多提建议。-----------------------------------------------------------关系型数据库扩展的几个步骤:一、第一步:主从复制+读写分离......
  • Memcached深入学习总结
    在上一家公司时,产品主要使用memcached做缓存。虽然目前这家公司memcached使用的比较少(刚进公司做云存储相关服务时小规模使用了一下,后来做另一个系统时换redis做了缓存),但前几天整理资料时看到了原先写的memcached相关笔记,在此整理一下发上来。----------------------------------......
  • 代码随想录算法训练营第9天| ●28. 实现 strStr() ●459.重复的子字符串 ●字符串总结
    28.找出字符串中第一个匹配项的下标mydemo--(mythought)--(falied)classSolution{public:intstrStr(stringhaystack,stringneedle){for(inti=0;i<haystack.size();i++){if(haystack[i]!=needle[0])continue;......