Mysql索引详细介绍

  介绍

这篇文章主要介绍“Mysql索引详细介绍”,在日常操作中,相信很多人在Mysql索引详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Mysql索引详细介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

<节>,

一、指数是什么?

,

1。定义

    <李> <节>

    简述:索引(索引)是一种帮助mysql高效获取数据的一数据结构。

    <李> <节>

    详述:除数据本身外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构叫索引。

<图数据工具=癿dnice编辑器”>  mysql索引详细介绍”>
  ,<figcaption>索引数据对应关系示意图</figcaption> </图> <pre> <代码> # #,1只创建索引<br/> mysql>, create  index  idx_employee_username 提醒员工(用户名),<br/> Query 好吧,,0,rows  affected  (1.71, sec) <br/>记录:,0,,重复:,0,,警告:,0 <br/> <br/> # # 2。查询索引。从查询结果来看,索引的类型是B树<br/>mysql> show index from employee;<br/>+----------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+<br/>| Table    | Non_unique | Key_name              | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |<br/>+----------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+<br/>| employee |          1 | idx_employee_username |            1 | username    | A         |           0 |     NULL |   NULL | YES  | BTREE      |         |               | YES     | NULL       |<br/>+----------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+<br/>1 row in set (1.73 sec)<br/><br/></code></pre>
  ,<blockquote data工具=

注意:索引本身也很大,不可能全部存储在内存中,因此索引索引往往以索引文件的形式存储到磁盘中;如果没有特定说明,索引对应的数据结构都是B树。

,

2。B树简介

B树:它的设计思想是,将相关数据尽量集中在一起,以便一次读取多个数据,减少硬盘操作次数。是对二叉查找树的改进。 Mysql索引详细介绍”>有以下三个特点:</p> <ol data工具=癿dnice编辑器”类= <李> <节>一个节点可以容纳多个值。 <李> <>部分除非数据已经填满,否则不会增加新的层。 <李> <节>子节点中的值,与父节点中的值,有严格的大小对应关系。一般来说,如果父节点有一个值,那么就有一个+ 1个子节点。比如上图中,父节点有两个值(7和16),就对应三个子节点,第一个子节点都是小于7的值,最后一个子节点都是大于16的值,中间的子节点就是7和16之间的值。 <李> <节>是一种排好序的快速查找数据结构。 ,

二,指数的分类及其使用

,

1。分类

    <李> <节>单值索引:即一个索引只包含一个列(一个表可包含多个单值索引)。 <李> <节>复合索引:一个索引包含多个列。 <李> <节>唯一索引:索引列的值必须唯一,可以为null。
,

2。基本语法

Mysql索引详细介绍