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三种级别锁的介绍及解锁命令相关推荐

  1. mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)

    详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC  ...

  2. 对象的notify方法的含义和对象锁释放的三种情况

    1,notify的含义     (1)notify一次只随机通知一个线程进行唤醒 (2)在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁, 要等到 ...

  3. 前端工程师的三种级别,技术决定你能拿5K,还是15K,还是25K

    随着信息技术不断发展,前端技术的发展也经历了不同的阶段.前端概念随着移动智能手机的普及被正式提出,混合APP开始被广泛开发.近年来,由于前端技术开始实现工程化,一些企业前端开发任务逐渐向后端拓展,逻辑 ...

  4. amc 美国数学竞赛能用计算机吗,美国数学竞赛AMC的三种级别

    AMC的三种级别 AMC8 简介 AMC8是针对初中一年级.初中二年级学生的数学测验,25题选择题.考试时间40分钟.其测验目的是为了增进学生对数学习题解答的能力.这项 测验提供了一些中学程度的数学概 ...

  5. ETSI TR101 290监测的三种级别错误接收端现象

    对于码流分析仪所提供ETSI TR101 290监测的三种级别错误,接收端将会出现如下现象. 级别 错误类型 接收端现象 一 级 错 误 同步丢失错 黑屏.静帧和马赛克.画面不流畅现象 同步字节错 黑 ...

  6. 计算机组成原理 王道考研2021 第一章:计算机组成原理概述 -- 计算机的工作过程(从源程序到可执行文件)、计算机的层次结构、计算机软件的分类、三种级别的语言

    1. 计算机的工作过程 计算机的工作过程分为以下三个步骤: 把程序和数据装入主存储器. 将源程序转换成可执行文件. 从可执行文件的首地址开始逐条执行指令. 1.1 从源程序到可执行文件 预处理阶段:预 ...

  7. 正确修改MySQL最大连接数的三种好用方案

    以下的文章主要介绍的是正确修改MySQL最大连接数的三种好用方案,我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远 ...

  8. MySQL提供了以下三种方法用于获取数据库对象的元数据

    MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用 ...

  9. python操作数据库的几种方法_python对mysql数据库操作的三种不同方式

    原标题:python对mysql数据库操作的三种不同方式 |转载自:博客园 |原文链接:http://www.cnblogs.com/mryrs/p/6951008.html 先要说一下,在这个暑期如 ...

最新文章

  1. 【第23周复盘】懒癌犯了,拖到今天!
  2. 机器学习十大算法之EM算法
  3. java显式构造函数_C++中的显式构造函数
  4. linux系统命令行基础知识点
  5. Intellij IDEA 识别不了@Slf4j和log的问题
  6. [面试] 删除多余的数组内容
  7. 希望相对路径关于background-image:url()在样式表里设置后有不管用的办法
  8. Perl语言入门(第六版)pdf
  9. 均方误差越大越好_均方误差准则.PPT
  10. php设为首页代码,JavaScript
  11. [转]Warzone 2100(战争地带2100)
  12. 李佳明的成长经历与留学选择
  13. $route.push()多次点击跳转报错问题
  14. DBeaver连接mysql数据库执行.sql脚本,Windows
  15. Codable实现json转Model,是时候干掉HandyJSON了!
  16. Spark学习总结以及问题
  17. android vpnservice SSTP 协议在连接过程遇到的问题
  18. 我确实不知道如何使用计算机的英文,用英语介绍我的电脑
  19. 啦啦外卖60.1最新版本全开源独立版本源码小程序+app+h5全端
  20. Linux 下 UltraEdit v15 破解 30 天试用限制

热门文章

  1. Linux常见系统错误
  2. 高纯氟聚合物(PFA)树脂的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. 领鸡蛋游戏养鸡游戏对接广告联盟CPS 小程序+APP
  4. 【云计算】基于VMware Vsphere云平台的设计与实现
  5. [前端笔记037]vue2之vuex
  6. 李宏毅DLHLP.09.Voice Conversion.1/2. Feature Disentangle
  7. 灵魂拷问:31岁拿了阿里P6的offer,要去吗?
  8. BT5源码安装Python
  9. 计算机南方电网试题,南方电网考试真题
  10. C#利用开源库OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率