美文网首页
mysql学习-20180117

mysql学习-20180117

作者: KrisDD | 来源:发表于2018-01-17 11:50 被阅读0次

[需要更新]

mysql学习

mysql 5.6 官方版本说加索引时,不会锁表,但是表加索引时,依然会存在2种情况会对锁表!

第一:如果有慢查询时

第二:如果有事物未提交时,但已经锁表了

所以需要先手动排查下,是否有以上2种情况,在加索引,如果在加表过程中出现问题立即中断;

排查命令:

查询最近死锁日志 

show engine innodb status; 

查询正在运行线程 

show processlist; 

查看是否有慢查询

show variables like 'slow_query%';

查看表的建表语句

show create table 表名;

查看表的索引:

show INDEX from `库`.`表名`;

然后根据以上的了解下

MySQL有三种锁的级别:页级、表级、行级。

表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。

行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般

什么情况下会造成死锁

所谓死锁: 是指两个或两个以上的进程在执行过程中,

因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.

此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程.

表级锁不会产生死锁.所以解决死锁主要还是针对于最常用的InnoDB.

死锁的关键在于:两个(或以上)的Session加锁的顺序不一致。

那么对应的解决死锁问题的关键就是:让不同的session加锁有次序

相关文章

  • mysql学习-20180117

    [需要更新] mysql学习 mysql 5.6 官方版本说加索引时,不会锁表,但是表加索引时,依然会存在2种情况...

  • 【为爱付出】20180116学习力践行Day98

    【为爱付出】20180117学习力践行Day99 【为爱付出】20180118学习力践行Day100

  • 【养心养意】20180117学习力践行Day99

    【养心养意】20180117学习力践行Day99 ^o^儿歌:《嘀嗒嘀嗒》 ^o^唐诗:《咏鹅》《山村》 ^o^故...

  • 20180117

    今天是20180217农历正月初二,今年是父母随弟弟在淮安过得第一个年头,心中失落落的,无以言表。昨日姑姑一家来家...

  • 20180117

    我越来越相信这句话“上天为你关上一扇门的时候,总会为你打开一扇窗”,自己很庆幸生命中遇到了很多贵人。我的贵人介绍让...

  • 20180117

    001【社群的力量】 你为什么要加入社群? 答:打死我也得变得优秀,因为我不想这一生碌碌无为还感叹平凡可贵。听说加...

  • 20180117

    早上的锦囊会,故事很值得让人深思。每个人的理解可能不尽相同,我认为那个瞎子就是我自己,灯笼就是我的心,灯光就是我散...

  • 20180117

    今天在琢磨,“觉醒”这个词到底应该要怎么理解。虽然还没参透这句话,但是悟出了一种微妙的感觉。 有些事情悄无声息的发...

  • 20180117

    田华 【一个目标】三个月收入十万元 【与此相关的好种子】 (1)给父母公婆各存孝顺金9.99元,种下感恩的好种子 ...

  • 20180117

    灵魂的香槟 喜乐操练--序 当看到小邹邹又决心来一次喜乐的操练,心,开始蠢蠢欲动了,前一次,真的是太抱歉了,对于神...

网友评论

      本文标题:mysql学习-20180117

      本文链接:https://www.haomeiwen.com/subject/opbyoxtx.html