美文网首页
数据中的索引

数据中的索引

作者: MrH_永无BUG | 来源:发表于2021-01-17 23:32 被阅读0次

索引是典型的的空间换时间,例如新华字典前面的目录,用多出来的空间换取了查询速度的加快。

数据库中的索引分为四类:索引种类:FULLTEXT,HASH,BTREE,RTREE。

FULLTEXT

即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。

全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHERE name LIKE “%word%"这类针对文本的模糊查询效率较低的问题。

HASH

由于HASH的唯一(几乎100%的唯一)及类似键值对的形式,很适合作为索引。

HASH索引可以一次定位,不需要像树形索引那样逐层查找,因此具有极高的效率。但是,这种高效是有条件的,即只在“=”和“in”条件下高效,对于范围查询、排序及组合索引仍然效率不高。

BTREE

BTREE索引就是一种将索引值按一定的算法,存入一个树形的数据结构中(二叉树),每次查询都是从树的入口root开始,依次遍历node,获取leaf。这是MySQL里默认和最常用的索引类型。

RTREE

RTREE在MySQL很少使用,仅支持geometry数据类型,支持该类型的存储引擎只有MyISAM、BDb、InnoDb、NDb、Archive几种。

索引在以下情况下会失效:

1.有or必全有索引;

2.复合索引未用左列字段;

3.like以%开头;

4.需要类型转换;

5.where中索引列有运算;

6.where中索引列使用了函数;

在以下情况下没有必要用索引:

1.唯一性差;

2.频繁更新的字段不用(更新索引消耗);

3.where中不用的字段;

相关文章

  • pandas 中链式索引 选择数据1

    pandas 中链式索引 选择数据1 链式索引选择数据,示例1 +链式索引选择数据,示例2 链式索引选择数据,示例...

  • 数据库索引介绍和使用

    一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个...

  • 查找算法 关于索引

    大话数据结构中介绍了三个索引 稠密索引 分块索引 倒排索引 1.稠密索引 稠密索引指的是在线性索引中,将数据集中的...

  • SQL语句总结----索引(持续更新)

    索引 数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引...

  • 数据中的索引

    索引是典型的的空间换时间,例如新华字典前面的目录,用多出来的空间换取了查询速度的加快。 数据库中的索引分为四类:索...

  • es修改索引数据类型

    es中是不允许对索引修改,所以只有先创建一个新索引,将旧索引数据移动到新索引中,然后再删除旧索引,再将新索引的数据...

  • 2021-08-09 MySQL索引原理

    ,索引概念 数据库索引,是数据库管理系统中的一个排序的数据结构,用于协助快速查询、修改数据。 索引分类 正常索引、...

  • mysql联合索引与单列索引

    一、联合索引 数据表如上图,数据表中700百万数据,索引:使用了 SITEID与COLLECTTIME的联合索引 ...

  • 谈谈什么是MySql的索引

    索引是什么 生活中的索引 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。...

  • MySQL中的索引用法总结

    MySQL中的索引用法总结 索引作为一种数据结构,其用途是用于提升检索数据的效率。 索引的分类 MySQL中的索引...

网友评论

      本文标题:数据中的索引

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