搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
从前慢现在也慢
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
小程序在使用echarts组件时出现的问题_微信小程序echarts报错
2
HarmonyOS 鸿蒙应用开发 (七、HTTP网络组件 axios 介绍及封装使用)_鸿蒙 axios
3
【开源设计】京东慢SQL组件:sql-analysis
4
统计建模大赛中如何获取数据集_统计建模大赛数据
5
信道编码:Matlab RS编码、译码使用方法_rs编码matlab
6
R语言入门——笔记(二)--包(package)的使用及RStudio的使用,加载包和数据集_rstudio中数据集kegg如何加载
7
mac OSX安装PCL_pcl2苹果电脑怎么下载
8
了解常见的模拟器及交换机的基本配置_交换机模拟器
9
马哈鱼数据血缘关系分析工具处理CSV文件中的SQL_数据血缘分析工具在线
10
英特尔携手浪潮信息构建端到端的隐私保护机器学习方案_spark隐私保护
当前位置:
article
> 正文
[mysql必备面试题]-MySQL 锁的类型有哪些呢?
作者:从前慢现在也慢 | 2024-05-14 03:19:35
赞
踩
[mysql必备面试题]-MySQL 锁的类型有哪些呢?
说两个维度
:
共享锁(简称S锁)和排他锁(简称X锁)
读锁
是共享的,可以通过lock in share mode实现,这时候只能读不能写。
写锁
是排他的,它会阻塞其他的写锁和读锁。从颗粒度来区分,可以分为表锁和行锁两种。
表锁和行锁
表锁
会锁定整张表并且阻塞其他用户对该表的所有读写操作,比如alter修改表结构的时候会锁表。
行锁
又可以分为乐观锁和悲观锁
悲观锁可以通过for update实现
乐观锁则通过版本号实现。
两个维度结合来看
:
共享锁(行锁):Shared Locks
读锁(s锁),多个事务对于同一数据可以共享访问,不能操作修改
使用方法:
加锁:SELECT * FROM table WHERE id=1 LOCK IN SHARE MODE
释锁:COMMIT/ROLLBACK
排他锁(行锁):Exclusive Locks
写锁(X锁),互斥锁/独占锁,事务获取了一个数据的X锁,其他事务就不能再获取该行的读锁和写锁(S锁、X锁),只有获取了该排他锁的事务是可以对数据行进行读取和修改
使用方法:
DELETE/ UPDATE/ INSERT -- 加锁
SELECT * FROM table WHERE ... FOR UPDATE -- 加锁
COMMIT/ROLLBACK -- 释锁
意向共享锁(IS)
一个数据行加共享锁前必须先取得该表的IS锁,意向共享锁之间是可以相互兼容的 意向排它锁(IX) 一个数据行加排他锁前必须先取得该表的IX锁,意向排它锁之间是可以相互兼容的 意向锁(IS、IX)是InnoDB引擎操作数据之前自动加的,不需要用户干预; 意义: 当事务操作需要锁表时,只需判断意向锁是否存在,存在时则可快速返回该表不能启用表锁
意向共享锁(IS锁)(表锁):Intention Shared Locks
表示事务准备给数据行加入共享锁,也就是说一个数据行加共享锁 前必须先取得该表的IS锁。
意向排它锁(IX锁)(表锁):Intention Exclusive Locks
表示事务准备给数据行加入排他锁,说明事务在一个数据行加排他 锁前必须先取得该表的IX锁。
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/567042
推荐阅读
article
Java
小白 前端后端开发 环境搭建【jdk+
idea
+
webstorm
+
maven
+
nodejs
+...
Java
小白,前后端开发环境搭建。win10系统,超详细步骤,全套安装过程。【
idea
+
webstorm
+
maven
+n...
赞
踩
article
【MySQL】报错1267 - Illegal mix of
collations
(
utf8mb4
...
记录一次sql语句执行错误:left join表会出现 Illegal mix of
collations
(utf8_...
赞
踩
article
Mysql 视图查询 编码格式异常 ERROR 1267 (
HY000
): Illegal
mix
...
1、线上库存在一张表原始表table
_
A ,查询A是正常的2、创建视图表table
_
B,创建正常3、查询视图表B,报错。...
赞
踩
article
mysql
查询
不为空
ci
_06_MySQL
查询
时报错(
utf8mb4
_
unicode
_
ci
,I...
在MySQL中做嵌套
查询
的时候经常遇到错误1267,这就是因为
查询
出的数据和做筛选的列的字符集编码不同造成的!SELEC...
赞
踩
article
mysql
error
1267_
error
code
: 1267.
illegal
mix of ...
Error Code: 1267. Illegal mix of
collations
(
utf8m
b4_uni
code
...
赞
踩
article
mysql
字符集不相等 error
code
1267_
mysql
1267
utf8mb4
_un...
错误代码: 1267Illegal mix of
collations
(
utf8mb4
_uni
code
_ci,IMPL...
赞
踩
article
mysql
错误码: 1267
_
mysql
1267...
报错:Illegal mix of collations (utf8mb4
_
0900
_
ai
_
ci,IMPLICIT) a...
赞
踩
article
mysql
:Illegal mix of
collations
(
utf8mb4
_
general
_c...
之前执行了上面的第二条指令,发现控制台还是报字符编码冲突错误,后来才明白是
mysql
数据库创建时指定的编码与创建表时默认...
赞
踩
article
mysql
1267错误处理方法_
error
code
: 1267.
illegal
mix of ...
[Err] 1267 - Illegal mix of
collations
(utf8mb4_general_ci,I...
赞
踩
article
【MySQL】1267 -
Illegal
mix of
collations
(
latin1
_sw...
1267 -
Illegal
mix of
collations
(
latin1
_
swedish
_
ci
,IMPLICIT...
赞
踩
article
my
sql
ERROR 1267 (
HY000
): Illegal
mix
of collation...
迁移服务器时,重建my
sql
数据库,将数据库的编码格式改为了
utf8mb4
(见该篇),以便能够存储emoji表情.在遇到...
赞
踩
article
mysql
查询报错 1267 -
Illegal
mix of
collations
_19
:
0
7
:
...
【代码】
mysql
查询报错 1267 -
Illegal
mix of
collations
。_19
:
0
7
:
44sel...
赞
踩
article
Lost
connection
to
MySQL
server
during
query
([Win...
背景在测试站上并没有问题,放到线上就会报错。如下:(2013, '
Lost
connection
to
MySQL
se...
赞
踩
article
mysql
h
字符集
_#MySQL问题
--
字符集
问题...
问题描述:执行SQl语句SQL:select * from searc
h
dicts w
h
ere word = '㒰桂平'...
赞
踩
article
MySQL
1267错误
解决方案
...
一般来说MYSQL报1267错误,是由于字符集不兼容的问题.解决方法是:找到MYSQL的my.ini配置文件将字符集替换...
赞
踩
article
mysql
错误
码
1267
_
mysql
错误
1267
的解决方法...
mysql
错误
1267
的解决方法每次转移到新的数据库,应用存储过程都会出现
mysql
1267
错误
.如下提示:Error...
赞
踩
article
MySQL
-第七讲:
数据库
编程
_
mysql
编程
...
MySQL
-第七讲:
数据库
编程
_
mysql
编程
mysql
编程
...
赞
踩
article
mysql
字符串
常数
_如何使用
字符串
/列值作为
mysql
日期
间隔
常数
(
DAY
,
MONTH
…)?...
我有三列:
日期
列,整数列和varchar列,如下所示:+------------+------+---------+| ...
赞
踩
article
mysql
的
varchar
字
段
最大
长度
真
的
是 65535吗?...
在
mysql
建表sql里,我们经常会有定义
字
符串类型
的
需求。CREATETABLE`user`(`name`varcha...
赞
踩
article
mysql
string
长度
限制_
String
的
长度
限制...
看
String
的源码可以得知,
String
实际存储数据的是char value[],数组的
长度
是int类型,最大值为23...
赞
踩
相关标签
java
intellij-idea
idea
maven
spring
mysql
ci/cd
数据库
mysql 查询 不为空 ci
sql
oracle
1267
mysql h 字符集
MySQL