mysql可能锁的表命令_mysql 默许是表级锁一些不太常用命令

mysql 默认是表级锁一些不太常用命令

1,mysql默认的是表级锁。如果是启用InnoDB存储引擎那么该数据库支持行级锁。

2,查看数据库是否支持innodb的命令

SHOW variables like "have_%";

8364ffb240ccc9b9c23cb8ef725eb660.png

另一条命令SHOW  ENGINES;更为准确。

10

查看mysql数据库的详细信息 可以用  show status;

一下文章来自:http://blog.csdn.net/tigernorth/article/details/7948539

INNODB的行级锁有共享锁(S LOCK)和排他锁(X LOCK)两种。共享锁允许事物读一行记录,不允许任何线程对该行记录进行修改。排他锁允许当前事物删除或更新一行记录,其他线程不能操作该记录。

INNODB的行级锁有共享锁(S LOCK)和排他锁(X LOCK)两种。共享锁允许事物读一行记录,不允许任何线程对该行记录进行修改。排他锁允许当前事物删除或更新一行记录,其他线程不能操作该记录。

共享锁: 用法:SELECT ... LOCK IN SHARE MODE;

MySQL会对查询结果集中每行都添加共享锁。

锁申请前提:当前没有线程对该结果集中的任何行使用排他锁,否则申请会阻塞。

操作限制:

使用共享锁线程与不使用共享锁线程对锁定记录操作限制表

线程

读取操作

写入操作

共享锁申请

排他锁申请

使用共享锁

可读

可写/不可写(报错)

可申请

可申请

不使用共享锁

可读

不可写(阻塞)

可申请

不可申请(阻塞)

1. 使用共享锁线程可对其锁定记录进行读取,其他线程同样也可对锁定记录进行读取操作,并且这两个线程读取的数据都属于同一个版本。

2. 对于写入操作,使用共享锁的线程需要分情况讨论,当只有当前线程对指定记录使用共享锁时,线程是可对该记录进行写入操作(包括更新与删除),这是由于在写入操作前,线程向该记录申请了排他锁,然后才进行写入操作;当其他线程也对该记录使用共享锁时,则不可进行写入操作,系统会有报错提示。不对锁定记录使用共享锁的线程,当然是不可进行写入操作了,写入操作会阻塞。

3. 使用共享锁进程可再次对锁定记录申请共享锁,系统并不报错,但是操作本身并没有太大意义。其他线程同样也可以对锁定记录申请共享锁。

4. 使用共享锁进程可对其锁定记录申请排他锁;而其他进程是不可以对锁定记录申请排他锁,申请会阻塞。

排他锁:

用法: SELECT ... FOR UPDATE;

MySQL会对查询结果集中每行都添加排他锁,在事物操作中,任何对记录的更新与删除操作会自动加上排他锁。

锁申请前提:当前没有线程对该结果集中的任何行使用排他锁或共享锁,否则申请会阻塞。

操作限制:

使用排他锁线程与不使用排他锁线程对锁定记录操作限制表

线程

读取操作

写入操作

共享锁申请

排他锁申请

使用排他锁

可读(新版本)

可写

可申请

可申请

不使用排他锁

可读(旧版本)

不可写(阻塞)

不可申请(阻塞)

不可申请(阻塞)

1. 使用排他锁线程可以对其锁定记录进行读取,读取的内容为当前事物的最新版本;而对于不使用排他锁的线程,同样是可以进行读取操作,这种特性是一致性非锁定读。即对于同一条记录,数据库记录多个版本,在事物内的更新操作会反映到新版本中,而旧版本会提供给其他线程进行读取操作。

2. 使用排他锁线程可对其锁定记录进行写入操作;对于不使用排他锁的线程,对锁定记录的写操作是不允许的,请求会阻塞。

3. 使用排他锁进程可对其锁定记录申请共享锁,但是申请共享锁之后,线程并不会释放原先的排他锁,因此该记录对外表现出排他锁的性质;其他线程是不可对已锁定记录申请共享锁,请求会阻塞。

4. 使用排他锁进程可对其锁定记录申请排他锁(实际上并没有任何意义);而其他进程是不可对锁定记录申请排他锁,申请会阻塞。

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python制作二级菜单_Python_简单三级菜单制作

一:制作要求 1.三级菜单  2.可依次选择进入各子菜单  3.所需新知识点:字典,列表 *本文通过三种方法完成,第一种:只使用循环,第二种:使用列表,第三种:使用字典 二:FlowChart流程图与上图对应,实现方式图解:while用来判断输入的数据和允许输入数据中的哪一项匹配,if来进行判断…

RSA使用简述

RSA协议我不再描述,大家可以看http://www.di-mgt.com.au/rsa_alg.html。 RSA的密钥对生成时间依赖于两个因素, 第一,密钥的长度 第二,素数的筛选质量 在整个密钥对生成过程中,RSA会随机选择两个大素数,事实…

64位进程和32位进程通信问题,接收端收不到 SendMessage发送的消息

最近在做一个项目的时候,采用了win32的SendMessage方法来发送数据,本来都没问题,后来增加了一个项目,必须采用的目标平台是x64的,没想到居然没办法通信了。 网上找了很久解决方案,整整尝试了一个周&#xf…

全国计算机等级考试题库二级C操作题100套(第23套)

第23套: 给定程序中,函数fun的功能是:找出NN矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生…

html5 js

2019独角兽企业重金招聘Python工程师标准>>> http://labs.hyperandroid.com/mathmayhem 转载于:https://my.oschina.net/u/201125/blog/100934

初入职场的工作感悟

已经很久没有静下心来好好的做一次自我总结,个人博客已经搁浅数月,微信公众号也寥寥数篇。甚至我的GitHub 也将近半年没有点亮技能树了。难得的空闲时间,抓紧反思一下。 一个注重仪式感的我,在提前转正的那天,仅仅是发…

python按键盘上哪个键运行_python根据键盘输入进行相应操作

上篇文章介绍了如何利用pyhook模块监听鼠标键盘的事件,接下来如果需要通过监听的事件内容,来做对应的操作,需要对event的内容进行相应的判断。 如果仅仅通过event.key来进行判断,可以写成str(evnet.key) F12等,如果需…

全国计算机等级考试题库二级C操作题100套(第24套)

第24套: 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数 进行输出。 例如:传给形参a的数据中,学号、姓名、和三门课的成绩依次是…

JavaCL 1.0.0-RC3 发布,性能大幅提升

JavaCL 发布 1.0 的第三个 RC 版本,该版本除了 bug 修复之外,性能方面有着非常大的提升,同时支持 OSGi 绑定。详情请看这里。 JavaCL 是一个封装了 OpenCL 图形API的 Java 类库,提供很多高级的图像处理功能。该项目的 JavaDoc 文档…

java 字符串数组定义_「string数组」string 数组怎么定义 - seo实验室

string数组string数组的定义有三种:String arr[] new String[10]; //创建一个长度为10的String 类型数组。String arr[] {"张三","李四"};String[] arr new String[10];相关阅读分析:如果直接输出未初始化的数组元素值&#xff0…

为什么空格拷贝到linux 会变成两个

为什么空格拷贝到linux 会变成两个 学习了:https://zhidao.baidu.com/question/266438357.html 在vi界面内输入:set paste 然后进行拷贝; 拷贝之后,输入:set nopaste 转载于:https://www.cnblogs.com/stono/p/9373893.html

python画图如何调整图例位置_Python-如何将图例排除在情节之外

小编典典 有很多方法可以做你想要的。要添加inalis和Navi所说的内容,可以使用bbox_to_anchor关键字参数将图例部分地放置在轴外and/or 减小字体大小。 在考虑减小字体大小(这会使阅读起来非常困难)之前,请尝试将图例放在不同的位置…

全国计算机等级考试题库二级C操作题100套(第25套)

第25套: 人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入 结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据, 作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的…

Haproxy 与 Cookie

1 什么是cookie ? 参考 cookie http://baike.baidu.com/view/835.htm Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109&#xff0…

java 动态按钮_java-向片段动态添加按钮

我一直在尝试向片段动态添加按钮,但是我尝试过的所有方法都不起作用.这些是我尝试过的一些方法:1.public View onCreateView(LayoutInflater inflater, Nullable ViewGroup container, Bundle savedInstanceState) {LinearLayout linearlayout new LinearLayout(ge…

进程线程区别,和线程初识

进程是计算机中最小的资源分配单位在利用多个CPU执行的过程中,对多个程序的资源进行管理和隔离进程的弊端开启和关闭 以及 切换 都会带来很大的时间开销过多的进程还会造成操作系统调度的压力线程线程是CPU调度的最小单位每个进程中至少有一个线程实际上执行代码的是线程线程属…

python绘制三维地形_【学习笔记】Python科学计算三维可视化(黄天羽、嵩天)(学习中。。)|python基础教程|python入门|python教程...

0 导学 目的:掌握利用三维效果表达科学和工程数据的能力 传播一种思想:可视化技术是数据之眼内容组织: 流体数据的标量可视化、矢量可视化实例 三维扫描数据(模型/地形)可视化实例 三维地球场景可视化实例 曲线UI交互控…

全国计算机等级考试题库二级C操作题100套(第26套)

第26套: 给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结…

在高科技产业当中,有时候你的产品出现了问题,你反过来可以把这个问题称为你的特点...

为什么80%的码农都做不了架构师?>>> 在高科技产业当中,有时候你的产品出现了问题,你反过来可以把这个问题称为你的特点。刚才讲的这种“大加小”的搭配就是属于这样的例子。by高通CEO保罗雅各布 看到这句话,深有感触…

python面向对象有什么用_Python 中的面向对象没有意义

许多人都在抨击面向对象,虽然我不认为他有什么问题,但我觉得至少在Python 中没必要。近来,许多人都在抨击面向对象,虽然我不认为面向对象本身有什么问题,但我觉得至少在 Python 中没这个必要。1、没有必要使用面向对象…