首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请详细描述数据库索引的工作原理,并阐述索引的好处和不足
[问答题]
请详细描述数据库索引的工作原理,并阐述索引的好处和不足
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(18)
分享
纠错
3个回答
添加回答
1
牛客408956483号
数据库索引是为了增加查询速度而对表字段附加的一种标识。
DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。
发表于 2022-03-11 02:02:05
回复(0)
0
露西Lucy
常直观的好处是降低查询时间,降低排序的成本,减少对CPU的消耗。坏处也非常直观,首先需要额外的空间来存储索引,其次其更新和维护需要消耗资源(例如插入或删除了值,索引就得跟着调整)。
发表于 2022-03-11 17:04:39
回复(0)
0
牛客184739658号
一句话概括就是——索引是为
优化查询效率而
维护的数据结构,例如mysql的Innodb存储引擎就是通过平衡二叉树来维护索引结构的,将查询复杂性从O(n)降低到了O(log(n))。
如图所示,为了加快col2的查找,构建的平衡二叉树将查找比对此时降低到了3次。
索引的非常直观的好处是降低查询时间,降低排序的成本,减少对CPU的消耗。坏处也非常直观,首先需要额外的空间来存储索引,其次其更新和维护需要消耗资源(例如插入或删除了值,索引就得跟着调整)。
所以索引是有利有弊的。
编辑于 2022-02-22 22:17:31
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
阅文集团
测试开发工程师
2021
来自:
2021届阅文测试开发...
上传者:
小小
难度:
3条回答
18收藏
1425浏览
热门推荐
相关试题
消消乐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(21)
拆礼盒
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(24)
有三个企业的年利润额分别是5000...
数据分析师
途虎
2021
评论
(10)
来自
途虎养车2021秋招数据...
设有5000个无序的元素,希望用最...
阅文集团
测试开发工程师
2021
评论
(0)
来自
2021届阅文测试开发方...
1.试说明是否存在这样的二叉树,可...
阅文集团
测试开发工程师
2021
评论
(0)
来自
2021届阅文测试开发方...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题