博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql聚簇索引与非聚簇索引
阅读量:6785 次
发布时间:2019-06-26

本文共 561 字,大约阅读时间需要 1 分钟。

hot3.png

一、IOT&HOT:

InnoDB引擎表:(聚簇)索引组织表(clustered index organize table,IOT),把表按照索引的方式存储的,数据是有序的,通过主键访问数据时可快速可达。

MyISAM引擎表:堆组织表(heap organize table,HOT),非聚集索引就是普通索引了,仅仅只是对数据列创建相应的索引,不影响整个表的物理存储顺序。

IOT和HOT虽然都叫做索引,但这并不是一种单独的索引类型,而是一种数据存储方式。对于聚簇索引存储来说,行数据和主键B+树存储在一起,辅助键B+树只存储辅助键和主键,主键和非主键B+树几乎是两种类型的树。对于非聚簇索引存储来说,主键B+树在叶子节点存储指向真正数据行的指针,而非主键。

图解如下:

246c27b453821ac183110377e9aefa46c1c.jpg

5d0a12c4e4acf80dec1200765f8a87f6781.jpg

二、mysql的查询流程

1、客户端先发送一条查询给服务器;

2、服务器先检查查询缓存,如果命中了缓存,则立刻返回给存储在缓存中的结果,否则进入下一个阶段;

3、服务器端进行sql解析、预处理,再由优化器生成对应的执行计划

4、Mysql根据优化器生成的执行计划,调用存储引擎的API来执行查询;

5、将结果返回客户端,同时缓存查询结果;

 

Ref:

 

转载于:https://my.oschina.net/u/3787772/blog/1935070

你可能感兴趣的文章
ntp redhat
查看>>
sum(case when status=1 then 1 else 0 end) 的意思
查看>>
Win7硬盘安装方法
查看>>
python - 列表
查看>>
UIVisualEffectView用法
查看>>
springmvc+mybatis整合cms+UC浏览器文章功能
查看>>
docker安装(centos6.5_x86_64)
查看>>
mysql悲观锁与乐观锁
查看>>
ubuntu下python2-python3版共存,创建django项目出现的问题
查看>>
2018.4.3三周第二次课
查看>>
eclipse_jee版本提供了从数据库直接生成实体类的工具!
查看>>
Error: Can't set headers after they are sent
查看>>
本地用户模式、虚拟用户模式使用
查看>>
任正非接班人亮相:原来他要的是这种类型!
查看>>
valgrind 运行出错
查看>>
ubuntu日常使用心得(随时更新中。。。)
查看>>
Java 多线程回顾
查看>>
二、nginx服务器基础配置命令
查看>>
TEMP表空间之Ogg复制进程占用
查看>>
java中的构造函数总结
查看>>