IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:查询优化

共 22 篇相关文章

IT 累计浏览 4,693

如何建立索引

索引是一把双刃剑,建立得当能极大提升查询效率,滥用则会拖慢写入速度、占用额外存储。这篇文章没有罗列抽象的理论,而是从实际开发中的高频场景出发,为读者梳理了一套清晰的索引决策指南。 文章具体分析了哪些查询模式(如等值查询、范围查询、排序操作)最能受益于索引,同时也明确指出了索引可能失效或成为负担的情况,例如在频繁更新的小表上,或者对区分度很低的字段建索引。作者通过对比这些场景下的性能差异,揭示了索引背后的核心原理:它本质上是用空间和写入开销来换区间的快速定位能力。 理解这一点,就能避免“为所有字段都加上索引”的常见误区。文章最终引导读者根据查询特点、数据分布和更新频率这三个关键因素,来判断何时该建立索引、为哪个字段建立何种类型的索引,从而做出真正能提升数据库整体性能的合理设计。

IT 累计浏览 3,941

Mysql 查询的一些优化技巧

这篇讲的是MySQL查询优化中一个容易被忽略但影响显著的细节:字段尽量设置为`NOT NULL`。作者从MySQL底层如何处理`NULL`值出发,解释了这样做的必要性。`NULL`在数据库中并非真正的“空”,而是一个特殊的标记,参与计算、比较和索引时都会带来额外的开销和潜在的逻辑陷阱。比如,在进行`COUNT`或比较运算时,含有`NULL`的字段往往需要更复杂的处理流程,这会在数据量大时明显拖慢查询速度。 文章进一步对比了允许字段为`NULL`可能带来的“便利”与`NOT NULL`带来的性能及逻辑确定性。虽然在某些极特定的设计模式中,`NULL`可能有其语义用途,但对于绝大多数业务字段,尤其是用于计算、筛选和建立索引的核心列,明确约束为`NOT NULL`能避免索引效率下降、简化查询逻辑,并减少潜在的应用层代码错误。作者通过实际场景说明,这个看似简单的建表规范,是构建高效、稳定数据库应用的一个扎实基石。