美文网首页
『数据库』索引的工作原理

『数据库』索引的工作原理

作者: dejunz | 来源:发表于2018-04-24 17:24 被阅读26次

数据库索引能够提高数据库的查询效率,那么索引到底是什么。

什么是索引

索引本身这个名字已经能回答这个问题了,索引就是目录,就像通过目录快速查找词典中某个词语一样,索引能够快速定位到要查找数据所在的位置。没有索引,计算机只能一行一行的遍历所有数据,找出符合项,也就是进行全表扫面
MYSQL官方定义:索引是一种数据结构。

实现原理

索引的数据结构主要有BTree索引,哈希索引等几种实现方式,一般使用BTree较多,因为BTree存储数值是有序的。被添加索引的字段,该字段下的值会被存储到对应数据结构中。
有student表:

 CREATE TABLE student(
    name varchar(20),
    age int
 ) ;

如果没有索引,我们使用SELECT name FROM student WHERE name='dingjunzhi';查询数据时,计算机会对对每一条数据进行比较,看是否满足name='dingjunzhi'这个查询条件,找到了满足的数据也不会停止,因为可能会有多条数据满足条件。

CREATE INDEX name_index ON student (name);

当我们添加索引后,name字段下的值会被有序存储到一个BTree结构,BTree的查找效率比全盘扫面高得多。因此再次使用同样SQL语句查询时,会先在索引的数据结构中,找到 "dingjunzhi"对应的值,和该值存储在一起的,还有原表中该项的存储地址,类似("dingjunzhi",0x111),再通过地址找到该条数据。

总结

合理使用索引,能够有效避免全盘扫描,提升检索速度,同时如果对索引使用不当,可能会使一些索引失效,之后文章会分析。


文章内容为个人理解,如有错误欢迎指出。

邮箱:CodingDjz@126.com

相关文章

  • 索引

    数据库索引的实现原理

  • MySQL索引原理详解

    学习MySQL数据库索引原理知识,同时了解与性能相关的优化实践。 讲述关于索引的原理,为后面数据库优化提供合适的方...

  • 数据库索引

    数据库索引 数据库的索引原理都是一样,这里我举的例子的索引指的是mysql的@[toc] 概述: 大家都知道,索引...

  • 『数据库』索引的工作原理

    数据库索引能够提高数据库的查询效率,那么索引到底是什么。 什么是索引 索引本身这个名字已经能回答这个问题了,索引就...

  • MySQL 索引

    MySQL 索引 数据库索引的原理:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表...

  • 网站营销seo方向

    1、seo收索引擎工作原理: 百度放出蜘蛛 ->进行网页抓取 ->收录(百度入库,内部建立索引、内容数据库) ->...

  • SEO

    Search Engine Optimization 搜索引擎优化。 搜索引擎工作原理 以百度为例,百度的数据库中...

  • 数据库存储原理特性索引优化

    说一下mysql数据库存储的原理? 事务的特性? 数据库索引 数据库怎么优化查询效率? 数据库优化方案 优化索引、...

  • 最新Java面试300题:腾讯T4面试+美团+京东+拼多多(文末

    数据库原理 MYISAM与innodb搜索引擎原理MyISAM引擎使用B+Tree作为索引结构,叶节点的data域...

  • Mysql数据库索引原理

    MySql数据库索引原理 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑...

网友评论

      本文标题:『数据库』索引的工作原理

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