MySQL中的索引有哪些分类?

  • MySQL所有列类型都可以被索引。
  • MyISASMInnoDB类型的表默认创建的都是BTREE索引
  • MEMORY类型的表默认使用HASH索引,但是也支持BTREE索引
  • 空间列类型的索引使用RTREE(空间索引)。
  • MySQL中的索引是在存储引擎层中实现的,而不是在服务器层实现的。所以每种存储引擎的索引都不一定完全相同,也不是所有的存储引擎都支持所有的索引类型。

MySQL目前提供了以下几种索引。
1)BTREE索引:最常见的索引类型,大部分引擎都支持BTREE索引,例如MyISASM、InnoDB、MEMORY等。

2)HASH索引:只有MEMORY和NDB引擎支持,适用于简单场景。

3)RTREE索引(空间索引):空间索引是MylSAM的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少。

4)FULLTEXT(全文索引):全文索引也是MylSAM的一个特殊索引类型,主要用于全文索引,InnoDB从MySQL 5.6版本开始提供对全文索引的支持。

MySQL目前还不支持函数索引,但是支持前缀索引,即对索引字段的前N个字符创建索引,这个特性可以大大缩小索引文件的大小,从而提高性能。但是,前缀索引在排序ORDER BY和分组GROUP BY操作的时候无法使用,也无法使用前缀索引做覆盖扫描。用户在设计表结构的时候也可以对文本列根据此特性进行灵活设计。

总结

  • 引擎不同,支持的索引也不同

MySQL索引分类入门相关推荐

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

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

  2. 六、MySql索引分类

    聚簇索引与非聚簇索引 1.聚簇索引: 只能来自于采用innodb存储引擎表的数据 mysql自动将采用了innodb存储引擎,作为表中主键建立索引,这个索引就是聚簇索引 如果当前表中没有主键,mysq ...

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

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

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

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

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

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

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

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

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

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

  8. 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 不需要建立索引的情 ...

  9. mysql索引的创建与管理实验_mysql索引创建与管理笔记

    什么是索引 索引是创建在表上的,对数据库表中一列或多列的值进行排序的一种结构. 其作用主要在于提高查询的速度,降低数据库系统的性能开销. 通过索引,查询数据不必读完记录的全部信息进行匹配,而是只查询索 ...

最新文章

  1. HBA and WWN
  2. Java MVC框架性能比较 jsp、struts1、struts2、springmvc3 (转帖)
  3. Spark源码阅读02-Spark核心原理之监控管理
  4. Cannot input a tensor of dimension other than 0 as a scalar argument
  5. 通过/proc/sys/net/ipv4/优化Linux下网络性能
  6. C++ 中有大量的函数用来操作以‘\0‘结尾的字符串
  7. QTexe软件设置系统默认的图标
  8. 用Python制作一个简易的抽奖程序
  9. Bootstrap 学习笔记 之代码和表格 (3 day)
  10. SEL selector (二)
  11. ps抠头发插件_彻底告别抠图的烦恼!PS自动抠图超级插件Topaz ReMask大放送
  12. byte类型和char类型
  13. mysql08---优化01
  14. JavaSE——Java8之函数式接口、函数式编程、Lambda表达式
  15. 卡尔曼滤波算法详细推导
  16. java pageoffice获取word数据_PageOffice实现最简单的Java导出Word中的数据
  17. 哪一种语言最流行?VB,C++,JAVA? (转)
  18. N-Tiers开发方式(ASP/ASP.NET、VB6/VB.NET呼叫使用COM+组件)
  19. iPad Air 3(iPad Air 2019)的主要参数与特性
  20. ansys一段时间后进入model报错:ansysWBU.exe encountered a problem.

热门文章

  1. 人脸方向学习(五):Face Recognition-ArcFace解读
  2. Windows Server 2016 搭建 FTP服务
  3. android技术服务,Android Service学习之本地服务
  4. 邮局解决方案 发邮件邮箱使用 系统邮件自动发送 邮件发送提醒 网易免费企业邮 设置自己的域名邮箱
  5. git学习(九)跨团队协作-非团队成员参与git项目开发
  6. quatus_sh tcl获取帮助
  7. 广日电梯主板灯说明_日立电梯HGP主板说明和电子部件识别
  8. apache php提示下载,apache正在下载php文件而不是显示它们。
  9. Connected to the target VM, address: '127.0.0.1:60885', transport: 'socket'
  10. 帝国cms怎么搭建python环境_自己写的帝国cms后台文章添加增加二级或多级联动功能...