加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

数据库两大必备神器:索引和锁底层原理是什么!

发布时间:2018-11-09 13:36:54 所属栏目:MySql教程 来源:Java3y
导读:【51CTO技术沙龙】10月27日,让我们共同探索AI场景化应用实现之道 一、索引 在之前,我对索引有以下的认知: 索引可以加快数据库的检索速度; 表经常进行INSERT/UPDATE/DELETE操作就不要建立索引了,换言之:索引会降低插入、删除、修改等维护任务的速度;

只会在某些特定的场景下才需要手动加锁,学习数据库锁知识就是为了:

  •  能让我们在特定的场景下派得上用场
  •  更好把控自己写的程序
  •  在跟别人聊数据库技术的时候可以搭上几句话
  •  构建自己的知识库体系!在面试的时候不虚

2、表锁简单介绍

首先,从锁的粒度,我们可以分成两大类:

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

不同的存储引擎支持的锁粒度是不一样的:

  •  InnoDB行锁和表锁都支持!
  •  MyISAM只支持表锁!

InnoDB只有通过索引条件检索数据才使用行级锁,否则,InnoDB将使用表锁

  •  也就是说,InnoDB的行锁是基于索引的!

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!