美文网首页
索引原理简单理解

索引原理简单理解

作者: Reflection_Boom | 来源:发表于2020-03-20 09:57 被阅读0次

关于聚集索引

没有加主键的数据表,数据是一行一行无序整齐的存放在存储器之中,如果增加主键,也就是所谓的聚集索引,则会变成棵平衡树,【整个】数据表的结构从【无序表格】变成一棵【平衡树(B tree(-p1)】,所以一个表只能有一个聚集索引
注:-p1:左节点小于右节点,等于当前节点则命中,小于走左子节点,大于走右子节点知道找到符合的节点值,如果没有则认为无节点)

关于非聚集索引

非聚集索引不改变整个表的结构,而是将指定的索引字段的值构建为一棵单独的平衡树,每给一个字段建立一个索引,就会把【字段中的值】复制出来建立一棵树,会增加表的体积占用磁盘空间,查询时,会在现在这棵单独的平衡树中查询,到符合数据的主键,再使用主键的值去聚集索引中查询数据行

关于大O计算公式

假如一张表有N条数据 ,最坏的情况要匹配N次才能得到结果,用大O标记法就是O(n)最坏时间复杂度, 这N次匹配在不经缓存优化的情况下就是N次IO开销 。

如果把这张表转换成平衡树结构,假设这棵树有10层,那么只需要10次IO开销就能查找到所需要的数据, 速度以指数级别提升,用大O标记法就是O(log n),n是记录总树,底数是树的分叉数,结果就是树的层次数。用公式来表示就是 image.png

相关文章

  • 索引原理简单理解

    关于聚集索引 没有加主键的数据表,数据是一行一行无序整齐的存放在存储器之中,如果增加主键,也就是所谓的聚集索引,则...

  • elasticsearch索引原理

    多渠道简单理解elasticsearch的索引原理: 正排索引: 倒排索引:将字段内容进行分词后以一下形式进行索引...

  • Redis 跳表记录

    redis跳表简单理解: 一种基于链表的索引 索引的本质就是空间换时间,跳跃表原理可概括为:维护多个格外的粗粒度链...

  • Mysql InnoDB索引原理

    Mysql InnoDB索引原理 理解Mysql索引的原理和数据结构有助于我们更好的使用索引以及进行SQL优化,索...

  • MySQL索引及查询优化书目录

    MySQL索引的原理之索引目的 MySQL索引的原理之索引原理 MySQL索引的原理之索引的类型 MySQL索引的...

  • 用Golang写一个搜索引擎(0x03)--- 跳跃表,哈希表

    前面已经说了倒排索引的基本原理了,原理非常简单,也很好理解,关键是如何设计第二个倒排表,倒排表的第二列也很好设计,...

  • 第一节.揭秘Google搜索引擎SEO优化原理-老船长外贸网站S

    第一节:带你揭秘GOOGLE搜索引擎SEO优化原理 –外贸网站SEO优化基础篇 (一)理解搜索引擎的工作原理 1....

  • 索引实现原理解析

    众所周知,sql语句性能执行计划分析,我们会尽量避免全表扫描,而通过索引来加快查询,那么索引到底是什么呢,为什么能...

  • Innodb索引原理解析

    今天讲解mysql储存引擎(Innodb)使用的索引。大家应该都用过各种索引(主键索引/唯一索引/全文索引)等等。...

  • Mysql进阶知识总结

    0-索引 索引原理与优化 0.1- MyISAM/InnoDB索引原理(聚集索引、非聚集索引) 索引是在存储引擎层...

网友评论

      本文标题:索引原理简单理解

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