首页 > 试题广场 >

请详细描述数据库索引的工作原理,并阐述索引的好处和不足

[问答题]
请详细描述数据库索引的工作原理,并阐述索引的好处和不足
数据库索引是为了增加查询速度而对表字段附加的一种标识。DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。
发表于 2022-03-11 02:02:05 回复(0)
常直观的好处是降低查询时间,降低排序的成本,减少对CPU的消耗。坏处也非常直观,首先需要额外的空间来存储索引,其次其更新和维护需要消耗资源(例如插入或删除了值,索引就得跟着调整)。
发表于 2022-03-11 17:04:39 回复(0)
一句话概括就是——索引是为优化查询效率而维护的数据结构,例如mysql的Innodb存储引擎就是通过平衡二叉树来维护索引结构的,将查询复杂性从O(n)降低到了O(log(n))。


如图所示,为了加快col2的查找,构建的平衡二叉树将查找比对此时降低到了3次。

索引的非常直观的好处是降低查询时间,降低排序的成本,减少对CPU的消耗。坏处也非常直观,首先需要额外的空间来存储索引,其次其更新和维护需要消耗资源(例如插入或删除了值,索引就得跟着调整)。

所以索引是有利有弊的。
编辑于 2022-02-22 22:17:31 回复(0)