聚簇索引与非聚簇索引
1.聚簇索引:

  • 只能来自于采用innodb存储引擎表的数据
  • mysql自动将采用了innodb存储引擎,作为表中主键建立索引,这个索引就是聚簇索引
  • 如果当前表中没有主键,mysql将会选择一个添加唯一性约束的字段作为聚簇索引
  • 如果当前表中既没有主键字段,也没有添加唯一性约束字段,mysql将随机选取一个字段来作为聚簇索引
  • 在采用innodb存储引擎的表文件中,必然会存在一个聚簇索引
  • 在采用innodb存储引擎的表文件中,只能有一个聚簇索引
  • 在表文件中其他字段上建立的索引都是非聚簇索引

2.非聚簇索引

  • 是由开发人员自行创建
  • 对于采用了innodb存储引擎的表中,除了一个聚簇索引之外,其他字段上创建的索引都是非聚簇索引
  • 在采用myisam存储引擎的表中,创建的所有的索引都是非聚簇索引

3.聚簇索引与非聚簇索引的区别:

  • 聚簇索引:数据节点存储的【当前数据所在行数】以及【当前数据所在数据行的内容】,因为聚簇索引的这种结构,所以查询时可以直接在定位数据节点上,读取当前数据所在数据行中字段信息,不需要使用I/O流到硬盘上表文件上进行读取
  • 非聚簇索引:数据节点存储的【当前数据所在行数】,由于数据节点中存储的是当前数据所在的行数,没有其相关的内容,所以在定位之后,需要使用I/O流到硬盘上的表文件中定位数据行其他字段的内容。因此执行效率相对较慢

主键索引与唯一性索引

  1. 主键索引:如果当前表文件中字段添加了主键约束,mysql主动的将当前字段上数据进行排序,其生成的索引被称为主键索引
  2. 唯一性索引:如果当前表文件中字段上添加了唯一性索引,mysql会主动的将当前字段上数据进行排序,其生成的索引被称为唯一性索引。唯一性索引不包含NULL
  3. 普通索引:如果当前表文件中字段上没有添加任何索引,此时在这个字段上所创建的索引就是普通索引。
  4. 执行效率:主键索引》唯一性索引》普通索引

单字段索引与复合索引

  1. 单字段索引创建   CREATE INDEX  索引名  on  表名(字段名)
  2. 复合索引创建    CREATE  INDEX 索引名 on 表名(字段名1,字段名2,字段名3)

六、MySql索引分类相关推荐

  1. Mysql索引分类及其使用实例

    Mysql索引 Mysql的索引分类 单列索引 创建单列索引的几种方式: 唯一索引 创建唯一索引的几种方式: 联合索引(复合索引) 创建联合索引(复合索引)的方式: Mysql的索引类型 INDEX ...

  2. MySQL索引分类入门

    MySQL中的索引有哪些分类? MySQL的所有列类型都可以被索引. MyISASM和InnoDB类型的表默认创建的都是BTREE索引: MEMORY类型的表默认使用HASH索引,但是也支持BTREE ...

  3. mysql高级篇(二)mysql索引优化分析

    mysql高级篇笔记 mysql高级篇(一)mysql的安装配置.架构介绍及SQL语句的复习. mysql高级篇(二)mysql索引优化分析. mysql高级篇(三)查询截取分析(慢查询日志).主从复 ...

  4. mysql 索引 normal_mysql索引类型 normal, unique, full text

    问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用 ...

  5. mysql 分组占比_含泪整理MySQL索引

    索引优化分析 性能下降SQL慢 查询语句写的差 索引失效 单值索引 多值索引 关联查询太多join(设计缺陷或不得已的需求) 服务器调优以及各个参数设置(缓冲.线程数等) 执行时间长 等待时间长 常见 ...

  6. mysql单列索引和多列索引_浅谈MySQL索引优化

    索引基础知识总结及常见索引优化手段 一.索引简介 什么是索引? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构. 可以简单理解为"排好序的快速查找数据 ...

  7. mysql索引的方法_mysql查看索引方法

    查看mysql索引: 复制代码 代码示例: mysql> show index from tblname; mysql> show keys from tblname; mysql索引输出 ...

  8. mysql索引类型 normal, unique, full text

    问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用 ...

  9. 80-450-010-原理-MySQL索引

    文章目录 1.索引 1.1.索引是什么 1.2 优势劣势 1.2.1 优势 1.2.2 劣势 1.3 MySQL 索引分类 1.3.1 基本语法 1.4 需要建立索引的情况 1.5 不需要建立索引的情 ...

最新文章

  1. rest_framework 视图/路由/渲染器/认证授权/节流
  2. java reader类 实例_Java Reader ready()用法及代码示例
  3. 【渝粤题库】陕西师范大学200651线性代数 作业(高起专、高起本)
  4. python合并两个文本文件内容_用Python 将两个文件的内容合并成一个新的文件.
  5. 朗读评价语言集锦_评语大全之朗诵评语艺术表现力
  6. css3-3 css3背景样式
  7. Python matplotlib画图出现No handles with labels found to put in legend
  8. 10条设计推荐系统的经验和教训
  9. JavaScript中的私有函数;Javascript构造函数的私有方法中访问其属性和公有方法
  10. Access2007数据库下载地址与AccessHelper
  11. python参考手册文字版_Python3.8标准库参考手册 中文完整pdf高清版
  12. 分形理论在图像处理中的应用研究(综述)
  13. Greenplum字段拼接
  14. RadAsm + OD 搭配编写和调试汇编程序
  15. java 在pdf中插入图片_如何在PDF文档内容中插入/添加图片文件
  16. 一款Excel导入导出解决方案组成的轻量级开源组件
  17. 为什么建议选英文技术书籍
  18. SVN管理文件的步骤
  19. 详解PROFINET通讯协议
  20. 学术沙龙-写好综述-读书笔记分享和讨论

热门文章

  1. linux系统运维费用,一般Linux运维学习的费用是多少?Linux学习
  2. android数据库降级_android——数据库版本升/降级问题
  3. dubbo 即是服务提供者又是消费者_Dubbo详细介绍与安装使用过程
  4. matlab智能算法30个案例分析_赞!继电保护25个事故案例分析总结,值得收藏!...
  5. python open encoding为无效的参数_TypeError:“encoding”是无效的关键字参数ex23.py
  6. 不给欧美科技公司封杀的机会,从换这个国产软件开始!
  7. Spring Security 中使用Keycloak作为认证授权服务器
  8. 用了这么多年的 Postman,竟然用错了~
  9. 杂谈:微服务的体系结构评审的三个问题
  10. ajax返回头部页面,ajax getResponseHeader获取中文响应头