美文网首页ElasticSearch
索引一:什么是索引

索引一:什么是索引

作者: 编程界的小学生 | 来源:发表于2017-02-25 22:06 被阅读46次
1. MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。你可以简单的理解为“排好序的快速查找数据结构”
2. 索引的本质:索引是数据结构。
3. 索引的目的在于提高查询效率,可以类比成字典
4. 例如:

如要查询“mysql”这个单词,我们肯定需要定位到m字母,然后从上往下找到y字母,在找到剩下的sql。如果没有索引,那么你可能需要a~z,如果我想找到Java开头的单词呢?或者Oracle开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成?

5. 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。
我们平常所说的索引,若没有特别指明,都是B树(Btree,多路搜索树,并不一定是二叉的,有可能是三叉等多叉)结构组织的索引,其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引。当然,除了B+树这种类型的索引之外,还有哈希索引(hashindex)等。
Paste_Image.png
通俗的解释:
可以把0x07等这些十六进制理解为数据记录的物理地址,Col1理解为id,Col2理解为name,七条数据。为了加速name的查找,可以维护一个二叉树(不一定是二叉的),每个节点分别包含索引键值和一个指向具体数据的物理地址,终归说来就是:索引进行了排序,使之查找更快。

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


qrcode_for_gh_577b64e73701_258.jpg

相关文章

  • 索引一:什么是索引

    1. MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。你可以简单的理解为...

  • MySQL索引

    MySQL索引 索引介绍 索引原理与分析 组合索引 索引失效分析 索引介绍 什么是索引索引:包括聚集索引、覆盖索引...

  • ElasticSearch初识(二)

    什么是正向索引、什么是倒排索引? 正向索引(forward index),反向索引(inverted index)...

  • MySQL索引

    目录 什么是索引? 索引类型 多列索引 使用最优索引总结附录 1. 什么是索引? 索引是一种通过避免查询时全表扫描...

  • day04 索引 约束 触发器

    1 索引 什么是索引 索引的分类 创建索引 删除索引 合理使用索引提升查询效率 2 约束 什么是约束 约束的类型 ...

  • MySQL索引原理以及查询优化

    一、索引简介 1、索引是什么 索引是个什么东东? 1、MySQL官方对索引的定义为:索引(Index)是帮助MyS...

  • 索引详解

    什么是索引? 索引的分类? B+Tree索引 哈希索引 R-Tree 全文索引 索引的原理? B-Tree索引 h...

  • Mysql索引

    什么是索引? 索引是存储引擎用于快速找到记录的一种数据结构。 索引操作语句 增加索引 删除索引 查看当前表的索引 ...

  • Mysql 索引原理及优化

    Mysql 索引原理及优化 什么是索引 为什么需要索引? 索引是数据表种一个或者多个列进行排序的数据结构 索引能够...

  • 面试必备的索引优化

    关于索引,分为以下几点来讲解(技术文): 索引的概述(什么是索引,索引的优缺点) 索引的基本使用(创建索引) 索引...

网友评论

    本文标题:索引一:什么是索引

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