六、MySql索引分类
聚簇索引与非聚簇索引
1.聚簇索引:
- 只能来自于采用innodb存储引擎表的数据
- mysql自动将采用了innodb存储引擎,作为表中主键建立索引,这个索引就是聚簇索引
- 如果当前表中没有主键,mysql将会选择一个添加唯一性约束的字段作为聚簇索引
- 如果当前表中既没有主键字段,也没有添加唯一性约束字段,mysql将随机选取一个字段来作为聚簇索引
- 在采用innodb存储引擎的表文件中,必然会存在一个聚簇索引
- 在采用innodb存储引擎的表文件中,只能有一个聚簇索引
- 在表文件中其他字段上建立的索引都是非聚簇索引
2.非聚簇索引
- 是由开发人员自行创建
- 对于采用了innodb存储引擎的表中,除了一个聚簇索引之外,其他字段上创建的索引都是非聚簇索引
- 在采用myisam存储引擎的表中,创建的所有的索引都是非聚簇索引
3.聚簇索引与非聚簇索引的区别:
- 聚簇索引:数据节点存储的【当前数据所在行数】以及【当前数据所在数据行的内容】,因为聚簇索引的这种结构,所以查询时可以直接在定位数据节点上,读取当前数据所在数据行中字段信息,不需要使用I/O流到硬盘上表文件上进行读取
- 非聚簇索引:数据节点存储的【当前数据所在行数】,由于数据节点中存储的是当前数据所在的行数,没有其相关的内容,所以在定位之后,需要使用I/O流到硬盘上的表文件中定位数据行其他字段的内容。因此执行效率相对较慢
主键索引与唯一性索引
- 主键索引:如果当前表文件中字段添加了主键约束,mysql主动的将当前字段上数据进行排序,其生成的索引被称为主键索引
- 唯一性索引:如果当前表文件中字段上添加了唯一性索引,mysql会主动的将当前字段上数据进行排序,其生成的索引被称为唯一性索引。唯一性索引不包含NULL
- 普通索引:如果当前表文件中字段上没有添加任何索引,此时在这个字段上所创建的索引就是普通索引。
- 执行效率:主键索引》唯一性索引》普通索引
单字段索引与复合索引
- 单字段索引创建 CREATE INDEX 索引名 on 表名(字段名)
- 复合索引创建 CREATE INDEX 索引名 on 表名(字段名1,字段名2,字段名3)
六、MySql索引分类相关推荐
- Mysql索引分类及其使用实例
Mysql索引 Mysql的索引分类 单列索引 创建单列索引的几种方式: 唯一索引 创建唯一索引的几种方式: 联合索引(复合索引) 创建联合索引(复合索引)的方式: Mysql的索引类型 INDEX ...
- MySQL索引分类入门
MySQL中的索引有哪些分类? MySQL的所有列类型都可以被索引. MyISASM和InnoDB类型的表默认创建的都是BTREE索引: MEMORY类型的表默认使用HASH索引,但是也支持BTREE ...
- mysql高级篇(二)mysql索引优化分析
mysql高级篇笔记 mysql高级篇(一)mysql的安装配置.架构介绍及SQL语句的复习. mysql高级篇(二)mysql索引优化分析. mysql高级篇(三)查询截取分析(慢查询日志).主从复 ...
- mysql 索引 normal_mysql索引类型 normal, unique, full text
问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用 ...
- mysql 分组占比_含泪整理MySQL索引
索引优化分析 性能下降SQL慢 查询语句写的差 索引失效 单值索引 多值索引 关联查询太多join(设计缺陷或不得已的需求) 服务器调优以及各个参数设置(缓冲.线程数等) 执行时间长 等待时间长 常见 ...
- mysql单列索引和多列索引_浅谈MySQL索引优化
索引基础知识总结及常见索引优化手段 一.索引简介 什么是索引? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构. 可以简单理解为"排好序的快速查找数据 ...
- mysql索引的方法_mysql查看索引方法
查看mysql索引: 复制代码 代码示例: mysql> show index from tblname; mysql> show keys from tblname; mysql索引输出 ...
- mysql索引类型 normal, unique, full text
问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用 ...
- 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 不需要建立索引的情 ...
最新文章
- rest_framework 视图/路由/渲染器/认证授权/节流
- java reader类 实例_Java Reader ready()用法及代码示例
- 【渝粤题库】陕西师范大学200651线性代数 作业(高起专、高起本)
- python合并两个文本文件内容_用Python 将两个文件的内容合并成一个新的文件.
- 朗读评价语言集锦_评语大全之朗诵评语艺术表现力
- css3-3 css3背景样式
- Python matplotlib画图出现No handles with labels found to put in legend
- 10条设计推荐系统的经验和教训
- JavaScript中的私有函数;Javascript构造函数的私有方法中访问其属性和公有方法
- Access2007数据库下载地址与AccessHelper
- python参考手册文字版_Python3.8标准库参考手册 中文完整pdf高清版
- 分形理论在图像处理中的应用研究(综述)
- Greenplum字段拼接
- RadAsm + OD 搭配编写和调试汇编程序
- java 在pdf中插入图片_如何在PDF文档内容中插入/添加图片文件
- 一款Excel导入导出解决方案组成的轻量级开源组件
- 为什么建议选英文技术书籍
- SVN管理文件的步骤
- 详解PROFINET通讯协议
- 学术沙龙-写好综述-读书笔记分享和讨论
热门文章
- linux系统运维费用,一般Linux运维学习的费用是多少?Linux学习
- android数据库降级_android——数据库版本升/降级问题
- dubbo 即是服务提供者又是消费者_Dubbo详细介绍与安装使用过程
- matlab智能算法30个案例分析_赞!继电保护25个事故案例分析总结,值得收藏!...
- python open encoding为无效的参数_TypeError:“encoding”是无效的关键字参数ex23.py
- 不给欧美科技公司封杀的机会,从换这个国产软件开始!
- Spring Security 中使用Keycloak作为认证授权服务器
- 用了这么多年的 Postman,竟然用错了~
- 杂谈:微服务的体系结构评审的三个问题
- ajax返回头部页面,ajax getResponseHeader获取中文响应头