美文网首页
14-mysql索引类型与数据存储

14-mysql索引类型与数据存储

作者: 七层茅草屋 | 来源:发表于2019-11-13 22:37 被阅读0次

六星教育 - java-mysql优化1909

一、innodb索引和myisam索引存储数据的区别

  1. .frm共用数据结构
  2. myisam特点数据与索引分开存储
    1> MYD:存储数据,MYI:存储索引
    2> 普通索引和主键索引都是指向实际数据在磁盘中的存储位置
  3. innodb特点数据和索引没有分开
    1> .idb , .ibdata
    2> innodb索引是找->主键字段的索引再->通过主键字段去找实际磁盘存储位置
    3> innodb所有默认索引就是与主键作为联合索引
idx_gender(gender) =>idx_gender(gender, id)   //实例

在innodb中就是通过索引来实现行锁,不加索引就会转化为表锁

二、索引类型

  1. 主键索引:就是我们的主键
  2. 唯一索引:一个唯一字段建立的索引效率较高,唯一字段建立的索引一般为单索引
  3. 单索引:单个字段建立的索引
  4. 联合索引:多个字段建立的索引
  5. 全文索引:针对于中文进行分词的搜索
  6. 覆盖索引:是所有查询sql中追求的索引效率的完美使用:直接根据索引获得数据,不需要再去磁盘中读取数据

三、回表

  1. 主要是普通索引问题,innodb
  2. sql查询的时候使用到普通索引,获取数据只要不存在与索引中的情况就会出现回表
  3. 回表:通过普通索引再去查主键索引,最后到磁盘中查询数据

四、hash索引

  1. MySQL根据字段进行hash计算->生成字符串:磁盘数据地址
  2. xxxx(字段) => hash算法 => 32,64字符串
  3. 使用:
    1、join查询的关联
    2、单独唯一条件查询
    3、字段少于其他的字段关联查询
  4. 特点:无序,离散,效率高,但不能进行范围查询
  5. 创建联合hash索引,必须字段都要有
  6. 根据查询字段的频率创建,这是由innodb自己完成

相关文章

  • 14-mysql索引类型与数据存储

    六星教育 - java-mysql优化1909 一、innodb索引和myisam索引存储数据的区别 .frm共用...

  • mysql 索引管理

    [TOC] 索引管理 按特定数据结构存储的数据 索引类型 聚集索引、非聚集索引: 数据是否与索引存储在一起 主键索...

  • MySQL系列(八)----聚集索引和慢查询

    索引的类型 A)聚集索引,表数据按照索引的顺序来存储的。对于聚集索引,叶子结点即存储了真实的数据行,不再有另外单独...

  • 聚簇索引

    聚簇索引:(非索引类型,只是一种数据存储方式) 表数据按照索引顺序存储,叶子结点存储了真实数据行,一张表上面最多只...

  • mysql 聚簇索引 非聚簇索引

    1 索引类型 1.1 聚簇索引 聚簇索引的叶子节点,存储就是数据节点。索引叶子节点的顺序和数据存储顺序一致。 1....

  • 数据存储--日志存储类型与哈希索引

    所谓数据库,它的核心功能无非是存、取数据两种操作。所以,我们可以简单大实现以下两种方法,来实现一个最简单大数据库:...

  • 0x03.索引

    [TOC] 索引是映射类型的容器。ES的索引中存储数据和索引(反向索引)。索引实质上只是逻辑单元,实际的存储单元是...

  • 聚簇索引与非聚簇索引(也叫二级索引)

    通俗点讲 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据 非聚簇索引:将数据存储于索引分开结构,索引...

  • 聚簇索引与非聚簇索引(也叫二级索引)

    区别 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据非聚簇索引:将数据存储于索引分开结构,索引结构的...

  • 《高性能mysql》笔记-索引

    索引基础 索引类型B-Tree索引(默认指明索引)按照顺序存储数据 哈希索引概念:哈希索引基于哈希表实现,只有精确...

网友评论

      本文标题:14-mysql索引类型与数据存储

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