InnoDB知识点整理

原创 2015年11月18日 18:09:02

1.InnoDB支持事务,外键,行级锁,索引和数据存到一起,不保存表的具体行数,count时需要全表扫描,此时会锁表,删除数据的时候一条一条的删除,即使是删除表中所有的数据,不支持全文索引。

2.InnoDB在select和insert性能上不如myisam

3.InnoDB除了存自定义的列之外,还存了一个事务id和回滚指针列,如果表中没有主键,并且也没有not null 的unique,那么Innodb会增加一个rowid列作为主键(6个字节)

4.InnoDB的数据是按行进行存放,主键索引(聚集索引)是一个B+Tree,基于聚集索引的特点,InnoDB的主键索引的叶子节点保存了整行数据,非叶子节点保存了主键,辅助索引的叶子节点中保存的是主键,如果通过辅助索引检索数据,是先通过辅助索引找到主键,然后再查主键索引,找到数据。

5.InnoDB的锁级别是行锁,注意,InnoDB的行锁是通过给索引项加锁来实现的,InnoDB行锁分为3中形式,简单了解,一种是给索引项加锁,一种是对索引项的间隙,进行加锁,第三种就是对记录和前面的间隙进行加锁。

     因为InnoDB的行锁是通过索引项来实现的,所以,如果不通过索引检索数据,那么Innodb将对表中所有的记录进行加锁,也就是表锁。(1)不通过索引条件查询的时候,会锁定表中的所有记录(2)如果索引的值相同,那么会锁定两行数据,例如id是索引,存在这样的数据{id:1, name:1} {id:1, name:4} 如果查询条件是id=1 and name=4  那么会锁定id=1的所有记录,从而会出现锁冲突的现象。(3)当表中由多个索引的时候,不同事务使用不同的索引,不论是什么索引,都会使用行锁对数据进行加锁。(4)即便是查询条件中有索引字段,但是如果执行计划没有使用这个索引,还是没用,所以分析锁冲突的时候别忘记了执行计划。


版权声明:本文为博主原创文章,未经博主允许不得转载。

web前端知识点整理

一,html+css基础 1-1 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。下面我们就来了解下这三门技术都是用来实现什么的: 1....
  • wcr19910118
  • wcr19910118
  • 2014年12月19日 00:02
  • 365

计算机网络重要知识点总结 面试必备

计算机网络常见面试题总结 1.      OSI,TCP/IP,五层协议的体系结构 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网...
  • u011225629
  • u011225629
  • 2015年04月23日 17:20
  • 2608

Storm基本知识总结

Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来开发应用...
  • fish9164
  • fish9164
  • 2016年09月09日 15:09
  • 391

各种数据结构的知识点归纳

各种数据结构 By SemiWaker
  • semiwaker
  • semiwaker
  • 2017年03月14日 09:02
  • 316

ElasticSearch知识点整理

1:es介绍          Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎。设计用于云计算中,          能够达到实时搜索,稳定,可靠,快速,安装使用方便...
  • tanga842428
  • tanga842428
  • 2016年09月04日 21:22
  • 389

iOS知识点大总结

本文文章转载于:http://blog.csdn.net/liaoyp_ios_android/article/details/9282201#rd [objc] view plainc...
  • a787188834
  • a787188834
  • 2014年10月23日 14:49
  • 1035

c++模板的一些知识点总结

一. 1 可以为类模板的模板参数提供默认参数,函数模板却不行。 2可以为类模板进行偏特化,而函数模板却不行。 二.模板参数 1 类型(可以是内建类型或是用户自定义类型) 2 无类型参数(整数...
  • lgp88
  • lgp88
  • 2011年12月08日 21:31
  • 1859

InnoDB一点零散的知识点

外键不加索引会引起死锁的问题 情景 主表parent主键id,字表child主键cid,cid为parent外键,和parent中id来源一致 当对parent或者child进行删除操作时,如果...
  • qq_22912803
  • qq_22912803
  • 2016年08月12日 10:43
  • 195

iOS学习笔记-----常用知识点总结

1.id与instanncetypeid 与 instancetype 区别 1.id 可以当返回值类并且可以声明对象 2.instancetype 只可以当返回值类型 3.instanc...
  • czzj0212
  • czzj0212
  • 2016年04月19日 20:28
  • 414

MySQL数据库知识整理归纳

数据库创建需要考虑的内容
  • cz28274815
  • cz28274815
  • 2014年09月04日 22:21
  • 747
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InnoDB知识点整理
举报原因:
原因补充:

(最多只允许输入30个字)