27、从数据页的角度理解B+树查询我们之前已经了解了B+树和Hash索引的原理,这些索引结构给我们提供了高效的索引方式,不过这些索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。 对数据库的存储结构以及页结构的底层进行了解,可以加深我们对索引运行机制的认识,从而你对索引...2025-10-27SQL必知必会
26、通过索引让SQL查询效率最大化我之前讲了索引的使用和它的底层原理,今天我来讲一讲索引的使用原则。既然我们的目标是提升SQL的查询效率,那么该如何通过索引让效率最大化呢? 今天的课程主要包括下面几个部分: 什么情况下使用索引?当我们进行数据表查询的时候,都有哪些特征需要我们创建索...2025-10-27SQL必知必会
25、Hash索引的底层原理是什么?我们上节课讲解了B+树的原理,今天我们来学习下Hash的原理和使用。Hash本身是一个函数,又被称为散列函数,它可以帮助我们大幅提升检索数据的效率。打个比方,Hash就好像一个智能前台,你只要告诉它想要查找的人的姓名,它就会告诉你那个人坐在哪个位置,...2025-10-27SQL必知必会
24、我们为什么用B+树来做索引?上节课我讲到了索引的作用,是否需要建立索引,以及建立什么样的索引,需要我们根据实际情况进行选择。我之前说过,索引其实就是一种数据结构,那么今天我们就来看下,索引的数据结构究竟是怎样的?对索引底层的数据结构有了更深入的了解后,就会更了解索引的使用原则。...2025-10-27SQL必知必会
23、用还是不用索引,这是一个问题提起优化SQL,你可能会把它理解为优化索引。简单来说这也不算错,索引在SQL优化中占了很大的比重。索引用得好,可以将SQL查询的效率提升10倍甚至更多。但索引是万能的吗?既然索引可以提升效率,只要创建索引不就好了吗?实际上,在有些情况下,创建索引反而...2025-10-27SQL必知必会
22、反范式设计上一篇文章中,我们介绍了数据表设计的三种范式。作为数据库的设计人员,理解范式的设计以及反范式优化是非常有必要的。 为什么这么说呢?了解以下几个方面的内容之后你就明白了。 3NF有什么不足?除了3NF,我们为什么还需要BCNF? 有了范式设计,为什么...2025-10-27SQL必知必会
21、范式设计在日常工作中,我们都需要遵守一定的规范,比如签到打卡、审批流程等,这些规范虽然有一定的约束感,却是非常有必要的,这样可以保证正确性和严谨性,但有些情况下,约束反而会带来效率的下降,比如一个可以直接操作的任务,却需要通过重重审批才能执行。 实际上,数据...2025-10-27SQL必知必会
20、思考数据库调优从这一篇开始,我们正式进入了SQL性能优化篇。在这一模块中,我们会关注如何提升SQL查询的效率。你可以思考一下,如何你是一名DBA或者开发人员,都有哪些维度可以进行数据库调优? 其实关于数据库调优的知识点非常分散。不同的DBMS,不同的公司,不同的职...2025-10-27SQL必知必会
19、理解查询优化、通配符以及存储过程到这一篇的时候,意味着SQL专栏的基础部分正式更新完毕。在文章更新的时候,谢谢大家积极地评论和提问,让专栏增色不少。我总结了一些基础篇的常见问题,希望能对你有所帮助。答疑篇主要包括了DBMS、查询优化、存储过程、事务处理等一些问题。 关于各种DBMS...2025-10-27SQL必知必会
18、使用ORM框架来操作MySQL?上节课,我介绍了Python DB API规范的作用,以及如何使用MySQL官方的mysql-connector驱动来完成数据库的连接和使用。在项目比较小的时候,我们可以直接使用SQL语句,通过mysql-connector完成与MySQL的交互,但...2025-10-27SQL必知必会