【校招VIP】Java面试:什么是聚集索引、非聚集索引、覆盖索引

05月11日 收藏 0 评论 3 java开发

【校招VIP】Java面试:什么是聚集索引、非聚集索引、覆盖索引

转载声明:文章来源https://zhuanlan.zhihu.com/p/33627718

聚集索引

索引B+树,非叶子节点存索引key(主键)和指针,叶子节点存记录,有序排列

select * from table where id = 1256;

非聚集索引

两级索引,先索引B+树(非聚集索引树,非叶子节点存索引key和指针,叶子节点为PK),然后按聚集索引。

select * from table where name = ‘piguangming’;

等价于:

create index index_name on table(name);
select * from table where id in (
select id from index_table where name = 'piguangming';
)

覆盖索引

联合索引,直接索引B+树(非聚集索引树,非叶子节点存索引key和指针,叶子节点为被查询的索引)。

select birthday from table where name = ‘piguangming’;

等价于:

create index index_name_birthday on table(name, birthday);

select birthday from index_name_birthday where name = ‘piguangming’;

C 3条回复 评论
三缄

请问 一下,我本科就是软件工程(软件测试方向),以后也想成为软件测试工程师,目前大三即将结束,我之前是准备考研 ,也只是知道考研没有考虑具体什么方向之类的。因为软件测试是专业课 大三下才开课,我现在发现考研的学校 基本没有 软件测试方向的,都是比较热门的大数据、人工智能等研究方向。 所以 想成为软件测试工程师 是在大四时好好学习技术 然后本来毕业找工作?还是 应该考研究生(只是 我发现研究生没有研究软件测试的,也可能我没关注到) ?

发表于 2022-11-09 22:00:00
0 0
yoonA

前端真的不难,后台确实比前台难一点,奥利给。

发表于 2022-09-07 23:00:00
0 0
孤松玉山

来我收藏夹吃灰吧!

发表于 2022-06-11 21:00:00
0 0