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来进行判断…

html5 js

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

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

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

Haproxy 与 Cookie

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

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

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

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

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

-9 逆序输出一个整数的各位数字_【每日算法】基础算法——归并排序[求逆序对的数量](四)(思想很经典)...

题目内容给定一个长度为n的整数数列&#xff0c;请你计算数列中的逆序对的数量。逆序对的定义如下&#xff1a;对于数列的第 i 个和第 j 个元素&#xff0c;如果满足 i < j 且 a[i] > a[j]&#xff0c;则其为一个逆序对&#xff1b;否则不是。输入格式第一行包含整数n&am…

Raphael学习笔记(2)--绘图(基本图形)

为什么80%的码农都做不了架构师&#xff1f;>>> 1、图形简介 与html5不同&#xff0c;Raphael提供了以下基本图形&#xff1a;矩形、圆形、椭圆形&#xff08;html5只有矩形&#xff09;。 Paper.rect(x,y,width,height,r)&#xff1a;绘制矩形&#xff1b; 参…

java基础57 css样式、选择器和css定位(网页知识)

本文知识点&#xff08;目录&#xff09;&#xff1a; 1、CSS样式 2、选择器 3、CSS定位 1、CSS样式 1.html 在一个网页中负责的是一个页面的结构 2.css(层叠样式表)在一个页面中负责了一个页面的样式. css文档&#xff08;教程&#xff09;&#xff1a;http://www.w3…

电子计算机场地通用规范_最全的视频监控系统施工规范要求

前言&#xff1a;今天我们一起来看下监控施工详细规范步骤。可以参考一下&#xff0c;有些东西可能不符合你的项目要求&#xff0c;但是都可以做删减正文&#xff1a;一、工程设计、验收标准《城市道路设计规范》 CJJ37-90《城市道路交通规划设计规范》GB50220-95 《道路交通标…

Intent的一些用法

2019独角兽企业重金招聘Python工程师标准>>> Intent用法实例 1.无参数Activity跳转 Java代码 Intent it new Intent(Activity.Main.this, Activity2.class); startActivity(it); 2.向下一个Activity传递数据&#xff08;使用Bundle和Intent.putExtras&#x…

idea建立一个java工程_IntelliJ IDEA(三、各种工程的创建 -- 之一 -- 创建一个简单的Java工程)...

一、创建一个简单的Java工程&#xff1a;HelloWorld1. Eclipse的第一步是选择工作空间&#xff0c;然后创建项目&#xff1b;IDEA不同(没有工作空间的概念)&#xff0c;第一步就直接创建具体的项目&#xff0c;项目创建过程中会选择在本地的存储位置(本地的某个文件夹)。Eclips…

5折交叉验证_数据集的划分——交叉验证法

本文作者&#xff1a;王 歌 文字编辑&#xff1a;戴 雯 技术总编&#xff1a;张 邯前面我们在举例时&#xff0c;通常是将所使用的数据集按照75%和25%的比例划分为训练集和测试集&#xff0c;这主要是为了我们举例方便&#xff0c;同时划分后的数据量也依然符合大样本的要求。其…

思科CCIE认证知识点之IPv6地址

IPv6是IETF&#xff08;互联网工程任务组&#xff0c;Internet Engineering Task Force&#xff09;设计的用于替代现行版本IP协议&#xff08;IPv4&#xff09;的下一代IP协议。 一、IPV6的地址&#xff1a; IPv6 地址共 128位&#xff0c;通过 8 个十六进制的地址块格式来…

java部署平台_开源Java自动化部署平台JDeploy

JDeploy是Java Shell实现的基于Linux系统的自动化、可视化的项目部署平台&#xff0c;能部署Java服务、Java Web项目&#xff0c;可以简化项目部署操作&#xff0c;无需繁琐的黑窗口SSH指令及Jenkins复杂的配置。传统部署方式&#xff1a;从SVN/GIT服务器检出代码->在IDE中…

A*算法在最短路问题的应用及其使用举例

1 A*算法 A*算法在人工智能中是一种典型的启发式搜索算法&#xff0c;启发中的估价是用估价函数表示的&#xff1a; 其中f(n)是节点n的估价函数&#xff0c;g(n)表示实际状态空间中从初始节点到n节点的实际代价&#xff0c;h(n)是从n到目标节点最佳路径的估计代价。另外定义h(n…

pytorch 使用cpu_想读读PyTorch底层代码?这份内核机制简介送给你

机器之心报道参与&#xff1a;思源学习 PyTorch 比较简单&#xff0c;但你能学习 PyTorch 内部机制吗&#xff1f;最近&#xff0c;有 14 年 ML 经验的大神 Christian 介绍了 PyTorch 的内核机制。虽然在实际使用中并不需要这些知识&#xff0c;但探索 PyTorch 内核能大大提升我…

java web 自定义标签_JavaWeb学习——自定义标签

自定义标签一、自定义标签概述使用标准JSP访问、操作JavaBean&#xff0c;是实现展现(HTML)与业务实现(Java代码)分离的第一步。然而&#xff0c;标准方法功能不够强大&#xff0c;以至于开发者无法仅仅使用它们开发应用&#xff0c;还要在JSP页面中使用Java代码。介于JavaBean…

739. Daily Temperatures - LeetCode

Question 739. Daily Temperatures Solution 题目大意&#xff1a;比今天温度还要高还需要几天 思路&#xff1a;笨方法实现&#xff0c;每次遍历未来几天&#xff0c;比今天温度高&#xff0c;就坐标减 Java实现&#xff1a; public int[] dailyTemperatures(int[] temperatur…

Android 抽屉效果Demo

2019独角兽企业重金招聘Python工程师标准>>> Android 抽屉效果Demo。 转载:http://www.adobex.com/android/source/details/00000110.htm 转载于:https://my.oschina.net/androidcode/blog/103821