26、通过索引让SQL查询效率最大化我之前讲了索引的使用和它的底层原理,今天我来讲一讲索引的使用原则。既然我们的目标是提升SQL的查询效率,那么该如何通过索引让效率最大化呢? 今天的课程主要包括下面几个部分: 什么情况下使用索引?当我们进行数据表查询的时候,都有哪些特征需要我们创建索...2025-10-27
25、Hash索引的底层原理是什么?我们上节课讲解了B+树的原理,今天我们来学习下Hash的原理和使用。Hash本身是一个函数,又被称为散列函数,它可以帮助我们大幅提升检索数据的效率。打个比方,Hash就好像一个智能前台,你只要告诉它想要查找的人的姓名,它就会告诉你那个人坐在哪个位置,...2025-10-27
24、我们为什么用B+树来做索引?上节课我讲到了索引的作用,是否需要建立索引,以及建立什么样的索引,需要我们根据实际情况进行选择。我之前说过,索引其实就是一种数据结构,那么今天我们就来看下,索引的数据结构究竟是怎样的?对索引底层的数据结构有了更深入的了解后,就会更了解索引的使用原则。...2025-10-27
23、用还是不用索引,这是一个问题提起优化SQL,你可能会把它理解为优化索引。简单来说这也不算错,索引在SQL优化中占了很大的比重。索引用得好,可以将SQL查询的效率提升10倍甚至更多。但索引是万能的吗?既然索引可以提升效率,只要创建索引不就好了吗?实际上,在有些情况下,创建索引反而...2025-10-27
22、反范式设计上一篇文章中,我们介绍了数据表设计的三种范式。作为数据库的设计人员,理解范式的设计以及反范式优化是非常有必要的。 为什么这么说呢?了解以下几个方面的内容之后你就明白了。 3NF有什么不足?除了3NF,我们为什么还需要BCNF? 有了范式设计,为什么...2025-10-27