博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 并发控制_mysql并发控制
阅读量:7025 次
发布时间:2019-06-28

本文共 486 字,大约阅读时间需要 1 分钟。

mysql并发控制

当有多个查询需要同时修改同一个数据,就会产生并发控制的问题。mysql可以在两个层面进行并发控制:服务器层和存储引擎层。

mysql通过加锁实现并发控制:

⑴锁有两类:

读锁:共享锁,即一个读锁不会阻塞其它读锁,多个用户可同时读取同一个资源,而不互相干扰。

写锁:排他锁,即一个写锁会阻塞其它读写锁,在给定时间内,只有一个用户能执行写入。

⑵锁粒度:

表级锁:锁定整张表

行级锁:并发程度更高,但维护较麻烦,会增加系统开销,易产生死锁。行级锁只能在存储引擎级别实现,MyISAM存储引擎不支持行级锁

⑶锁分类:

隐式锁:由存储引擎自动完成

显式锁:用户可手动施加锁(表级锁)

⑷手动加解锁:服务器级别

LOCK TABLES tb_name {READ|WRITE},...;

UNLOCK TABLES;

FLUSH TABLES WITH READ LOCK;   #全局施加读锁

InnoDB存储引擎也支持另外一种显式锁(只锁定挑选出的行):

SELECT ... LOCK IN SHARE MODE;

SELECT ... FOR UPDATE;

转载地址:http://twsxl.baihongyu.com/

你可能感兴趣的文章
RDA PQ工具使用 (Adi Analysis)
查看>>
iOS中的崩溃类型
查看>>
ACdreamoj 1011(树状数组维护字符串hash前缀和)
查看>>
RPC与REST的差别
查看>>
亚马逊云EC2做PPTP SERVER的笔记
查看>>
MySQL SELECT 语句
查看>>
MFC文档(SDI)应用:画图程序(画圆、画线、鼠标事件)
查看>>
LEETCODE
查看>>
Eclipse-Java代码规范和质量检查插件-Checkstyle
查看>>
命题和判断有什么区别和联系
查看>>
微信即将支持App直接打开小程序
查看>>
织云Lite发布:详解包管理核心能力
查看>>
029_mac下nginx管理
查看>>
hadoop04---shell
查看>>
2018快手实习笔试题
查看>>
Redis Sentinel 情况下bind地址设置
查看>>
jQuery事件
查看>>
C# 操作Word文本框——插入表格/读取表格/删除表格
查看>>
解决 Popup 位置不随窗口移动更新的问题
查看>>
常用单词7
查看>>