当前位置: 百科首页 > 生活小常识

索引是什么意思

2021-10-17 04:46:14|来源:网络|1212 ℃|移动端

每个人在开发过程中都无法避免使用数据库索引,那么你了解数据库索引吗?接下来我简单说一下浅谈数据库索引。

1.数据索引有什么用?

其实数据库索引是为了让数据查询更高效。

二、浅谈数据库索引?

聚集索引(主键索引):在数据库中,所有行都根据主键索引进行排序。

非聚集索引:是给常用字段添加索引。

联合索引:是由几个字段组成的索引,称为联合索引。

key ‘idx_age_name_sex’ (‘age ‘,’ name ‘,’ sex ‘)

联合索引遵循最左边的前缀原则。什么意思?举个例子,如果一个学生表中的工会指数如上图,那么下面的A、B、C、D、E、F哪个会跟在指数后面?

A:从学生中选择*年龄=16岁,姓名=’小张’

B:从学生中选择*名=’小张’,性别=’男’

C:从学生中选择*姓名=’小张’,性别=’男性’,年龄=18岁

D:从学生中选择* 20岁,姓名=’小张’

e :从学生中选择*年龄!=15且姓名=’小张’

f :从学生中选择*年龄=15岁,姓名!=’小张’

a遵循最左边匹配原则,年龄在最左边,所以a取索引;

b直接从名字开始,不遵循最左边匹配原则,所以不遵循索引;

c以名字开头,但在索引中有最左边的年龄,mysql会自动改成其中年龄=’18 ‘,名字=’小张’,性别=’男’,所以还是遵循最左边的匹配原则;

d这是因为age20是一个范围,范围字段会结束范围后面的索引字段的使用,所以只取年龄索引;

e这个虽然遵循最左边的匹配原则,但是不遵循索引,因为!=不要转到索引;

f这个只取年龄指标,不取姓名指标,以上原因;

第三,哪些列不取索引?

学生表中的年龄、姓名两个字段被索引

键“idx _ age”(“age”),

键“idx _ name”(“name”)

1.像这样意味着%前面不跟指数,后面跟指数

A:从学生中选择*,其中“姓名”如“国王%”

B:从学生中选择*,其中“姓名”如“%小”

甲取指数,乙不取指数

2.如果索引列用于计算,则不采用索引

a :从年龄=108岁的学生中选择*

b :从8岁=18岁的学生中选择*

甲取指数,乙不取指数

3.对索引列使用函数,不要取索引

A:从学生中选*多联(‘姓名’,’哈’)=’王哈哈’;

B:从学生中选择*其中name=concat(‘王哈’,’ ha ‘);

a不取指数,B取指数

4.使用了索引列!=不要索引,如下所示:

从学生年龄中选择*!=18

4.为什么要用B树做索引?

这可以指浅谈B树

5.索引在磁盘上的存储?

聚集索引和非聚集索引的存储方式不同,那么它们是如何存储的呢?

有学生名单

创建表格“学生”(

` id`int (11)不为null auto _ incrementcomment ‘主键id ‘,

` name`varchar (50) not null default ‘ ‘注释’学生姓名’,

` age`int (11)不为null默认0注释’学生年龄’,

主键(` id `),

key `idx_age` (`age `)、

键` idx_name` (`name `)

)engine=innodb default charset=utf8 comment=’学生信息’;

表格内容如下

Id是主键索引,名称和年龄是非聚集索引

1.磁盘中聚集索引的存储

簇索引叶节点存储表中的所有行数据;

每个数据页都在不同的磁盘上;

如果要找id=5的数据,先把磁盘0读入内存,然后用二分法找到3到6之间id=5的数字,再通过指针p1找到磁盘2的地址,再把磁盘2读入内存,用二分法找到id=5的数据。

2.磁盘中非聚集索引的存储

叶节点存储的是聚集索引键,而不是表中的所有行数据,所以搜索时只能找到聚集索引键,然后通过聚集索引在表中找到数据。

如果您想查找name=肖旭,首先将磁盘0加载到内存中,然后使用二分搜索法方法简单介绍查找指针p1指向的地址,然后使用指针p1指向的位置址可知道在磁盘2上面,然后通过二分查找法得知小徐id=4;

然后在根据id=4将磁盘0加载到内存中,然后通过二分查找的方法简单介绍查到在指针p1所指的地址上,然后通过指针p1所指的地址可知道在磁盘2上面,然后通过id=4查找出郑正行数据,就查找出name=小徐的数据了。

旧称通检、备检或引得。组成的基本单位是索引款目。款目一般包括索引词、说明或注释语 、出处3项内容 。所有索引款目实现有序化编排。其本质特征是只揭示内容出处或文献线索 ,并不直接提供事实、资料本身。主要功能是为人们准确、迅速地获得文献资料提供线索性指引。常见的索引主要有报刊论文资料索引、文集篇目索引、语词索引、文句索引、关键词索引、专名索引、主题索引等。

索引最早出现于西方,主要是中世纪欧洲宗教著作的索引。18世纪以后西方开始有主题索引,至19世纪末,内容分析索引被广泛使用。中国的索引出现较晚。一般认为,明末傅山所编的《两汉书姓名韵》是现存最早的人名索引。清代乾嘉时期,章学诚曾力倡编纂群书综合索引。20世纪20年代,随着西方索引理论与编制技术的传入,中国现代意义上的索引编制与研究才蓬勃展开 。1930年钱亚新发表《索引和索引法》,1932年洪业发表《引得说》,标志着具有中国特色的现代索引理论、技术已迅速发展起来。20世纪50年代,计算机技术被运用于索引编制 。此后,机编索引的大量出现,使索引编制理论、技术、索引载体形式发生了深刻变革。

SQL标准中没有涉及索引,但商用关系数据库管理系统一般都支持索引机制,只是不同的关系数据库管理系统支持的索引类型不尽相同。

索引已经成为关系数据库非常重要的部分。它们被用作包含所关心数据的表指针。通过一个索引,能从表中直接找到一个特定的记录,而不必连续顺序扫描这个表,一次一个地去查找。对于大的表,索引是必要的。没有索引,要想得到一个结果要等好几个小时、好几天,而不是几秒钟。

标签: 主键, 数据库

相关推荐

三星电子承认黑客攻击了其数据库

什么是数据库标识符

reg是什么意思

浅谈事物

版权申明

本文"索引是什么意思":https://www.jtmc.com.cn/5845.html内容来自网络,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们admin@jtmc.com.cn,我们会及时处理和回复。

本文共计2326个字,预计阅读时长16分钟

本栏目推荐

ai工具箱

中国生僻字大全

栏目标签

衣服 成语大全 中国生僻字大全 治疗 成语典故 颜色 生僻字成语 男生 食物 朋友 中国汉字大全 女人 分手 皮肤 中华语言 女生 微信 手术 游戏 宝宝 男人 网络梗 民俗方言 中国民间方言 女性 养鱼知识 丰胸 生僻字 中华方言习俗 谈恋爱