mysql锁级别_MySql三种级别锁的介绍及解锁命令
MySql三种级别锁的介绍及解锁命令
(2014-04-29 11:59:37)
标签:
那末
用以
便能
页级的典型代表引擎为BDB。
表级的典型代表引擎为MyISAM,MEMORY和很久之前的ISAM。
行级的典型代表引擎为INNODB。
-我们实践操纵中用的最多的等于行锁。
行级锁的劣面以下:
1)、当很多衔接分袂进行不同的查询时减小LOCK状况。
2)、若是显现极度,可以减少数据的丢掉落。因为一次可以只回滚一行概略几行少量的数据。
行级锁的缺点以下:
1)、比页级锁和表级锁要占用更多的内存。
2)、进行查询时比页级锁和表级锁需求的I/O要多,所以我们经常把行级锁用在写操做而不是读操做。
3)、简单显现死锁。
对付写锁定以下:
1)、若是表出有减锁,那末对其减写锁定。
2)、可则,那末把乞请放进写锁行列中。
对付读锁定以下:
1)、若是表出有减写锁,那末减一个读锁。
2)、可则,那末把乞请放到读锁行列中。
虽然我们可以分袂用low_priority 和high_priority在写和读操做上去改变这些举动。
若是想要在一个表上做大量的 INSERT 和 SELECT
操做,但是并行的插进却不可能时,可以将记实插进来一时表中,然后按期将一时表中的数据更新到实践的表里。可以用以下饬令实现:
mysql> LOCK TABLES real_table WRITE, insert_table WRITE;
mysql> INSERT INTO real_table SELECT * FROM insert_table;
mysql> TRUNCATE TABLE insert_table;
mysql> UNLOCK TABLES;
InnoDB 运用行级锁,BDB 运用页级锁。对付 InnoDB 和 BDB 存储引擎去说,是可以或许产存亡锁的。这是因为
InnoDB 会主动捕捉行锁,BDB 会在实施 SQL 语句时捕捉页锁的,而不是在事务的进手下手便这么做。
行级锁的劣面有:
在很多线程乞请不同记及时减少矛盾锁。
事务回滚时减少改变数据。
使长工夫对伶仃的一行记实减锁成为可以或许。
行级锁的缺点有:
比页级锁和表级锁消费更多的内存。
当在大量表中运用时,比页级锁和表级锁更慢,因为他需求乞请更多的所资源。
当需求频繁对大部分数据做 GROUP BY 操做概略需求频繁扫描全部表时,便明隐的比另外锁更糟。
运用更高层的锁的话,便能更等闲的支持各种不同的类型操纵轨范,因为这种锁的开消比行级锁小多了。
表级锁在下列几种状况下比页级锁和行级锁更劣越:
很多操做皆是读表。
在峻厉条件的索引上读与和更新,当更新概略删除可以用伶仃的索引去读与获得时:
UPDATE tbl_name SET column=value WHERE
unique_key_col=key_value;
DELETE FROM tbl_name WHERE unique_key_col=key_value;
SELECT 和 INSERT 语句并发的实施,但是只有很少的 UPDATE 和 DELETE 语句。
很多的扫描表和对全表的 GROUP BY 操做,但是出有任何写表。
表级锁和行级锁或页级锁之间的不同的地方借在于:
将同时有一个写和多个读的地方做版本(例如在MySQL中的并发插进)。也等于说,数据库/表支持依照进手下手访谒数据工夫面的不同支持各种不同的试图。另外名有:工夫行程,写复造,概略是按需复造。
实施代码以下:
//实施SQL语句 锁掉落踪stat_num表
$sql = "LOCK TABLES stat_num WRITE";
//表的WRITE锁定,阻塞其他所有mysql查询历程
$DatabaseHandler->exeCute($sql);
//实施更新或写进操做
$sql = "UPDATE stat_num SET `correct_num`=`correct_num`+1 WHERE
stat_date="{$cur_date}"";
$DatabaseHandler->exeCute($sql);
//当前乞请的所有写操做做完后,实施解锁sql语句
$sql = "UNLOCK TABLES";
$DatabaseHandler->exeCute($sql);
原文出处:http://www.jb51.net/article/28287.htm
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
mysql锁级别_MySql三种级别锁的介绍及解锁命令相关推荐
- mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC ...
- 对象的notify方法的含义和对象锁释放的三种情况
1,notify的含义 (1)notify一次只随机通知一个线程进行唤醒 (2)在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁, 要等到 ...
- 前端工程师的三种级别,技术决定你能拿5K,还是15K,还是25K
随着信息技术不断发展,前端技术的发展也经历了不同的阶段.前端概念随着移动智能手机的普及被正式提出,混合APP开始被广泛开发.近年来,由于前端技术开始实现工程化,一些企业前端开发任务逐渐向后端拓展,逻辑 ...
- amc 美国数学竞赛能用计算机吗,美国数学竞赛AMC的三种级别
AMC的三种级别 AMC8 简介 AMC8是针对初中一年级.初中二年级学生的数学测验,25题选择题.考试时间40分钟.其测验目的是为了增进学生对数学习题解答的能力.这项 测验提供了一些中学程度的数学概 ...
- ETSI TR101 290监测的三种级别错误接收端现象
对于码流分析仪所提供ETSI TR101 290监测的三种级别错误,接收端将会出现如下现象. 级别 错误类型 接收端现象 一 级 错 误 同步丢失错 黑屏.静帧和马赛克.画面不流畅现象 同步字节错 黑 ...
- 计算机组成原理 王道考研2021 第一章:计算机组成原理概述 -- 计算机的工作过程(从源程序到可执行文件)、计算机的层次结构、计算机软件的分类、三种级别的语言
1. 计算机的工作过程 计算机的工作过程分为以下三个步骤: 把程序和数据装入主存储器. 将源程序转换成可执行文件. 从可执行文件的首地址开始逐条执行指令. 1.1 从源程序到可执行文件 预处理阶段:预 ...
- 正确修改MySQL最大连接数的三种好用方案
以下的文章主要介绍的是正确修改MySQL最大连接数的三种好用方案,我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远 ...
- MySQL提供了以下三种方法用于获取数据库对象的元数据
MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用 ...
- python操作数据库的几种方法_python对mysql数据库操作的三种不同方式
原标题:python对mysql数据库操作的三种不同方式 |转载自:博客园 |原文链接:http://www.cnblogs.com/mryrs/p/6951008.html 先要说一下,在这个暑期如 ...
最新文章
- 【第23周复盘】懒癌犯了,拖到今天!
- 机器学习十大算法之EM算法
- java显式构造函数_C++中的显式构造函数
- linux系统命令行基础知识点
- Intellij IDEA 识别不了@Slf4j和log的问题
- [面试] 删除多余的数组内容
- 希望相对路径关于background-image:url()在样式表里设置后有不管用的办法
- Perl语言入门(第六版)pdf
- 均方误差越大越好_均方误差准则.PPT
- php设为首页代码,JavaScript
- [转]Warzone 2100(战争地带2100)
- 李佳明的成长经历与留学选择
- $route.push()多次点击跳转报错问题
- DBeaver连接mysql数据库执行.sql脚本,Windows
- Codable实现json转Model,是时候干掉HandyJSON了!
- Spark学习总结以及问题
- android vpnservice SSTP 协议在连接过程遇到的问题
- 我确实不知道如何使用计算机的英文,用英语介绍我的电脑
- 啦啦外卖60.1最新版本全开源独立版本源码小程序+app+h5全端
- Linux 下 UltraEdit v15 破解 30 天试用限制
热门文章
- Linux常见系统错误
- 高纯氟聚合物(PFA)树脂的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 领鸡蛋游戏养鸡游戏对接广告联盟CPS 小程序+APP
- 【云计算】基于VMware Vsphere云平台的设计与实现
- [前端笔记037]vue2之vuex
- 李宏毅DLHLP.09.Voice Conversion.1/2. Feature Disentangle
- 灵魂拷问:31岁拿了阿里P6的offer,要去吗?
- BT5源码安装Python
- 计算机南方电网试题,南方电网考试真题
- C#利用开源库OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率