美文网首页
数据库之索引

数据库之索引

作者: 互联网中的一个咸鱼 | 来源:发表于2019-08-10 14:18 被阅读0次

一、索引的相关知识

简单来说,索引就是数据库的数据结构,进一步说就是该数据结构中存储了一张表中某列的所有值

索引的作用

如果没有索引,数据库会逐行查询整张表,就算找到要搜索的数据也会继续搜索,因为谁也不能保证数据是唯一的,这就是“全表扫描”
而索引的作用就是加快查询速度,从根本上减少需要扫描的记录的行数

建立索引会加快查询速度的原因

添加索引的话,首先去索引列表中查询,而我们的索引列表是B类树的数据结构,查询的时间复杂度为O(log2N),定位到特定值得行就会非常快,所以其查询速度就会非常快。

  • B+tree

其实就是非二叉树
一个父结点可以有多个子结点,只有叶子结点才存储数据,其余的都可以是索引
关于树形结构这里不做过多解释

二、索引的创建等操作

索引的分类

  • 普通索引
  • 唯一索引
  • 主键索引
  • 组合索引
  • 主键索引

普通索引

create index index_name on table(row)
drop index index_name on table;
show index fomr table;

唯一索引

create unique index index_name on table(row)
alter table table_name drop index index_name

主键索引

当一列被创建为主键,会自动创建主键索引

联合索引

create index index_name on table(row1,row2..)

三、索引的使用

验证索引是否被命中

explain select name from t1 where   name='shark'\G

** EXPLAIN输出列**

JSON名称 含义
id select_id SELECT标识符
select_type NULL SELECT类型
table table_name 输出行的表
partitions partitions 匹配的分区
type access_type 连接类型
possible_keys possible_keys 可供选择的索引
key key 实际选择的指数
key_len key_length 所选键的长度
ref ref 列与索引进行比较
rows rows 估计要检查的行
filtered filtered 按表条件过滤的行的百分比
Extra NULL 附加信息

四、索引过多的缺点

1.增加写的压力
2.增加MySQL查询优化器的选择时间

相关文章

  • oracle数据库之索引书目录

    oracle数据库之索引 oracle数据库之创建一个索引(Creating an Index Explicitl...

  • MySQL 之索引、视图、触发器

    MySQL 之索引、视图、触发器 索引 索引的引入 索引是由数据库表中一列或者多列组合而成,其作用是提高对表中数据...

  • 数据库索引记录

    本文用来记录数据库索引相关内容; 1】数据库索引分为单列索引,组合索引,全文索引,空间索引 2】单列索引:只有一个...

  • 索引,序列,视图

    1、数据库索引索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果...

  • Sql索引优化—转载

    数据库索引使用方式 使用索引是提高数据库查询效率的主要方式,下面从索引结构,索引类型,索引操作,命中索引几个方面来...

  • 数据库 - 索引

    索引 索引 索引的建立对于数据库的高效运行是很重要的。索引可以大大提高数据库的检索速度。 索引分单列索引,组合索引...

  • [Mysql]Mysql索引实现原理及相关优化策略

    数据库索引 数据库索引是什么? A database index is a data structure that...

  • 数据库索引定义和类型

    数据库索引类型及实现方式 1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表...

  • [数据库之十一] 数据库索引之联合索引

      执行数据库查询时,通常查询条件是多对个属性进行判断和约束,对于这种类型的查询,如果存在多个索引则使用多个索引,...

  • [数据库之十二] 数据库索引之覆盖索引

    1、MySQL 中的聚簇索引   对于 MySQL InnoDB 引擎来说,表必须要有聚簇索引(也叫聚集索引),设...

网友评论

      本文标题:数据库之索引

      本文链接:https://www.haomeiwen.com/subject/dmpljctx.html