MySQL索引

索引是一个单独的、存储在 磁盘 上的 数据库结构 ,包含着对数据表里 所有记录的 引用指针。
摘要由CSDN通过智能技术生成

目录

1、MySQL 索引 简介1.1、MySQL 索引 是什么?

1.2、 MySQL 索引 的存储类型有哪些?

1.3、MySQL 索引 在哪里实现的?

1.4、存储引擎 是什么?

1.5、索引 的优缺点有哪些?

5、MySQL 索引 的使用

5.1、MySQL 索引 的基本语法

5.2、怎么判断要不要加索引?

5.3、只要创建了索引,就一定会生效吗?

5.5、怎么避免索引失效?


1、MySQL 索引 简介
1.1、MySQL 索引 是什么?

 索引是一个单独的、存储在 磁盘 上的 数据库结构 ,包含着对数据表里 所有记录的 引用指针。


1.2、 MySQL 索引 的存储类型有哪些?

 MySQL中索引的存储类型有两种,即 BTree 和 Hash。


1.3、MySQL 索引 在哪里实现的?

 索引是在存储引擎中实现的。(MySQL 的存储引擎有:InnoDB、MyISAM、Memory、Heap)

InnoDB / MyISAM 只支持 BTree 索引
Memory / Heap 都支持 BTree 和 Hash 索引

1.4、存储引擎 是什么?

 存储引擎就是指 表的类型 以及 表在计算机上的存储方式。


1.5、索引 的优缺点有哪些?

优点:

提高数据的查询的效率(类似于书的目录)
可以保证数据库表中每一行数据的唯一性(唯一索引)
减少分组和排序的时间(使用分组和排序子句进行数据查询)
被索引的列会自动进行分组和排序
缺点:

占用磁盘空间
降低更新表的效率(不仅要更新表中的数据,还要更新相对应的索引文件)


2、MYSQL 索引 的分类
1、普通索引 和 唯一索引

普通索引:MySQL 中的基本索引类型,允许在定义索引的列中插入 重复值 和 空值

唯一索引:要求索引列的值必须 唯一,但允许 有空值

如果是组合索引,则列值的组合必须 唯一
主键索引是一种特殊的唯一索引,不允许 有空值
2、单列索引 和 组合索引

单列索引:一个索引只包含单个列,一个表可以有多个单列索引
组合索引:在表的 多个字段 组合上 创建的 索引
只有在查询条件中使用了这些字段的 左边字段 时,索引才会被使用(最左前缀原则)
3、全文索引

全文索引 的类型为 fulltext
在定义索引的 列上 支持值的全文查找,允许在这些索引列中插入 重复值 和 空值
全文索引 可以在 char、varchar 和 text 类型的 列 上创建
4、空间索引

空间索引 是对 空间数据类型 的字段 建立的索引

MySQL中的空间数据类型有4种,分别是 Geometry、Point、Linestring 和 Polygon

MySQL 使用 Spatial 关键字进行扩展,使得能够用创建正规索引类似的语法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值