索引是什么意思(数据库中的索引是什么)

自媒体 自媒体

(原创文章www.9y9y.com)

二、索引有哪些种类 (原创文章www.9y9y.com)


1、B-TREE索引

(原创文章www.9y9y.com)

索引的存储结构:B-TREE

  • 树形结构,所有叶子节点到根节点的深度相同

  • 所有值都是顺序存储,每个叶子节点到根的距离相同

  • 节点页中存放的值和下级节点叶的指针

  • 叶子节点中的指针存放的是被索引的数据(索引列数据项值)

  • 根据条件查询B-TREE时,不需要全表扫描,只需要通过比较节点的值和要查找的值就可以逐级快速定位符合要求的叶子节点

  • B-TREE因为是顺序存储,所以特别适合范围数据的查询

B-TREE索引应用范围 索引包含多列时,索引对于多个值得排序依据是create table 时索引的列的顺序,既:key(column1,column2,column3),排序就是按照column1-> column2 -> column3 的顺序,存储也是按照此顺序,应用于如下类型查询更有效:

  • 全值匹配

  • 索引的全部列值匹配

  • 匹配最左前缀

  • 只使用索引的第一列

  • 匹配列前缀

  • 只匹配索引第一列的字符前缀

  • 匹配范围值

  • 值匹配第一列的值范围

  • 精确匹配某一列,并全职匹配另外一列

  • 索引第一列全值匹配,第二列前缀匹配

B-TREE索引使用限制

  • 必须从最左列开始查找,否则索引无法使用

  • 不能跳过索引列查找,例如索引列column1、column2、column3,就不能直接用column1、column3来查找,这么用mysql只能使用column1索引第一列。

  • 如果索引列中某个列的范围查询,那么其右边所有列都无法使用索引优化查询。

注:索引列的顺序直接影响着查询是否能够应用索引,在各种条件查询的情况下,一种索引未必能够满足要求,所以往往就需要多组相同列顺序不同的索引来优化性能。

2、HASH索引

基于HASH表结构(Key-Value)实现,只有精确匹配索引全部列的查询才有效,每一行数据,存储引擎都会对所有索引列计算出一个hash code,作为key值存放在hash表中,value存放指向每个数据行的指针。

自媒体微信号:9y9y扫描二维码关注公众号
爱八卦,爱爆料。
小编推荐
  1. NO.1 个人创业经历(一个真实的创业故事)

    「正文」 最近这几年,创业公司特别多,我自己也一路从创业公司中走来。 不可否认,正是因为这么多创业公司,才为社会提供了诸多的就业机会和

  2. NO.2 北京公交车站车祸 大货车与公交车追尾致多人受伤现场狼藉

    北京公交车站车祸 大货车与公交车追尾致多人受伤现场狼藉:【北京公交车站车祸大货车与公交车追尾致多人受伤现场狼藉】据网友爆料,今早北京房

  3. NO.3 印尼清真寺遇袭袭击者被当场打死 一周之内已发生2起类似事件

    印度尼西亚首都雅加达一清真寺6月30日晚发生袭击事件。两名警察受伤,一名袭击者被警方打死。 印尼 媒体 援引该国国家警察总局发言人塞提约瓦

  4. NO.4 情侣为当网红竟表演书挡子弹当场身亡 把命都搭上也是太拼了

    美国明尼苏达州的一对情侣,19岁的女孩蒙娜丽莎(Monalisa Perez)和她22岁的男友佩德罗(Pedro Ruiz III)为了成为网红,最近几个星期一直在视频网站youtube上

  5. NO.5 巴铁投资公司华赢凯来涉非法集资 32人被刑拘

    中新网7月2日电 据北京市公安局东城分局官方微博 消息 ,针对有投资人举报北京华赢凯来资产管理有限公司从事非法集资活动的情况,北京市公安局

  6. NO.6 被同学暴打拍裸照 初中女生失联后遭打父亲报了三次警见到女儿

    副标题#e# 被同学暴打拍裸照 初中女生失联后遭打父亲报了三次警见到女儿时惊呆了 【被同学暴打拍裸照】6月28号晚上,小琴被2个女同学约了出去,

  7. NO.7 13岁男孩玩手游1月充值近5万元 本是孩子“救命钱”

    副标题#e# 看到支付宝的一长串账单,李先生头都大了。今年5月27日至6月24日,他的小儿子成成(化名)用他的支付宝给游戏充值了近5万元,最大一笔

  8. NO.8 杭州55岁老板为掩人耳目安排小三与哥哥结婚

    杭州55岁老板为掩人耳目安排小三与哥哥结婚。 这段时间,各种荒唐 新闻 出现的可不少。这不,前两天,杭州的一家法院就遇上了件奇葩事儿。 欲

Copyright2018.就要自媒体资讯站,让大家及时掌握各行各业第一手资讯新闻!