DBS包含DB和DBMS

解析如下:

一、什么是索引:

简单的来说,建立索引在进行数据库操作的时候不需要全盘一条条的扫描,删选出符合的记录,索引内部自己有一套优化算法,因此借助索引来对数据库进行操作可以提高查询的效率。

二、什么时候建立的索引将失效或效率不高(情况有很多,这里列举常见的几种, 假设在字段name上建立了索引): 

1、使用了运算符!=,以及关键字not in, not exist等,认为产生的结果集很大,往往导致引擎不走索引而是走全盘扫描 

2、对索引字段使用了函数,如where substr(name, 1, 3)=‘mark’, 导致索引无效 

3、使用like和通配符,第一个字符是%将导致索引失效,如where name like "%ark“  (A正确)

.....

三、order by与索引 

首先利用where进行数据查询,这一步是免不了的,至于这一步有没有利用索引暂时不考虑,关键是在获取所有符合的记录后还需要进行排序,看看order
by是如何利用索引的。

如果order by中的字段有建立索引,同时: 

1、该字段没有出现在where中,则在排序的时候需要正常排序,默认order by是升序排序, 故索引没有对排序产生有利帮助 (B,C错误)

2、该字段同时同时出现在where中,则在获取记录后不进行排序,而是直接利用索引, 效率变高。(D正确)

补充: group by也和order by类似

2021-07-08
在牛客打卡20天,今天学习:刷题 2 道
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务