我们都知道数据库建立有效索引在一定程度上能提高查询的速率,可为什么能提高查询速率,你知道吗?
还依稀记得,之前面试时遇到尴尬的一面,大致过程:
面试官:如果一条sql查询过慢,你如何优化?
我:可以建立索引,因为索引采用折半查找的算法,采用b+ tree,可以提高查询速度、
面试官: 好,那既然知道b+ tree,那b+ tree如何提高查询速度的呢,有b+ tree 那你了解b- tree吗,你能大致说说原理吗
我:瞬间懵逼了。我想:真想抽自己两巴掌,这个平时了解的只知道建立索引,能提高查询速度(题外话:其实建立索引真能提高查询速度吗,自己脑补),其实为啥能提高查询速度我也不知道啊
面试官看着我,心想:他肯定不知道了吧,其实我也不知道(自己脑补的)
我:这个不是很清楚,平时没有了解过这个底层算法,如何实现的、
面试官:不再说话..........
结果,大家也就可想而知了。话不多说,接下来,我们一起感受下建立索引提高查询速度的来龙去脉。
未完待续.....................