首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
sql优化
Homi
创建于2025-06-03
订阅专栏
记录一些sql优化案例
等 6 人订阅
共40篇文章
创建于2025-06-03
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
事务范围控制:避免长锁的数据库优化策略
引言:高并发场景下的数据库性能瓶颈 在电商秒杀、金融交易等高并发场景中,数据库长事务引发的锁竞争是典型的性能瓶颈。笔者曾参与某支付系统优化,发现超过 60% 的慢查询源于事务范围过大导致的锁等待。 一
批量插入技巧:减少事务提交次数的性能提升
引言 在数据库操作中,频繁提交事务是常见的性能瓶颈。想象一个场景:需要向数据库插入10万条用户数据。如果每条记录都独立提交事务,数据库将承受巨大的I/O压力和锁竞争。而通过批量插入技术,将多次插入合并
大数据集分页优化:LIMIT OFFSET的替代方案
引言 在开发数据密集型应用时,分页查询是高频操作。传统方案常使用 SQL 的 LIMIT OFFSET 语法,例如: 这种方式在小数据集下表现良好,但当数据量达到百万级时,性能会急剧下降。根本问题在于
窗口函数替代子查询的复杂查询简化技巧
在SQL开发中,复杂查询常依赖多层子查询实现聚合计算或排名需求。但子查询嵌套会导致代码臃肿、可读性差,且可能引发性能问题。今天我们将探讨如何用窗口函数优雅替代子查询,提升查询效率和可维护性。 一、子查
外键列索引优化:加速JOIN查询的关键
引言:一个真实的性能陷阱 假设你正在处理电商平台的订单系统,当用户查询“我的订单及商品详情”时,后台需要执行类似这样的SQL: 随着数据量增长,这个原本毫秒级的查询逐渐变得缓慢,甚至超时。问题的核心往
删除无效索引:提升写入性能的维护技巧
引言 在数据库优化中,索引是提升查询性能的利器,但无效索引却可能成为写入操作的“隐形杀手”。许多开发者过度依赖索引优化查询,却忽视了其对写入性能的负面影响。本文将探讨如何识别和清理无效索引,释放数据库
CTE公用表表达式的可读性与性能优化
在复杂SQL查询开发中,开发者常面临两大痛点:嵌套地狱带来的可读性灾难和临时表滥用导致的性能损耗。CTE(Common Table Expression,公用表表达式)正是解决这些问题的利器。 一、C
EXPLAIN工具:查询执行计划分析与索引诊断
在数据库性能优化领域,EXPLAIN工具是开发者诊断SQL查询效率的核心武器。它能将SQL语句的执行过程可视化,揭示数据库引擎的“思考逻辑”,为索引优化和查询重构提供科学依据。本文将深入解析EXPLA
前缀索引:长字符串字段的索引优化方案
在数据库性能优化领域,索引设计是核心课题之一。当面对长字符串字段(如地址、描述、URL等)时,传统的全字段索引会带来显著的性能瓶颈。本文将深入探讨前缀索引这一针对性解决方案,帮助开发者高效处理海量文本
复合索引创建的列顺序匹配策略
引言 在数据库优化中,索引是提升查询性能的核心工具。相较于单列索引,复合索引(多列组合索引)能更高效地支持多条件查询。然而,复合索引的列顺序直接影响其有效性,错误的顺序可能导致索引失效。本文将深入解析
GROUP BY与ORDER BY的索引优化方法
在数据库查询优化中,GROUP BY和ORDER BY是高频使用但易引发性能瓶颈的操作。当数据量增长时,未合理利用索引可能导致全表扫描、磁盘临时表或文件排序(Using filesort),显著拖慢响
SQL参数化查询:防注入与计划缓存的双重优势
SQL 注入攻击和性能瓶颈是开发者常面临的挑战。参数化查询作为一种高效解决方案,不仅能从根本上防御注入攻击,还能优化数据库执行效率。 一、SQL 注入:隐藏的安全威胁 假设某登录功能使用拼接 SQL
SELECT * 的性能陷阱与列筛选优化
在数据库开发中,SELECT * 看似便捷高效——一键获取整行数据,省去了手动列出字段的麻烦。然而,这条“捷径”背后潜藏着严重的性能隐患,尤其在数据规模增长时可能成为系统瓶颈。本文将剖析 SELECT
覆盖索引:减少回表查询的关键技巧
一、理解索引的本质与回表代价 在数据库性能优化中,索引设计是决定查询效率的核心要素。当我们谈论覆盖索引时,首先需要理解两个关键概念:索引组织表结构和回表查询代价。 1. 索引的物理存储结构 以 MyS
数据库索引创建的核心原则与最佳实践
一、索引的本质与价值定位 数据库索引如同图书馆的目录系统,其核心价值在于通过空间换时间的策略加速数据检索。但需要明确的是:索引并非越多越好,每条索引都会带来额外的维护成本(写入时B+树结构调整)和存储
用JOIN替代子查询的查询性能优化
一、从子查询到JOIN的范式转变 在数据库查询优化的实践中,子查询与JOIN的选择往往是开发者需要面对的关键抉择。本文将通过原理分析、执行计划对比和实战案例,揭示如何通过合理的JOIN改写策略提升查询
LIKE查询中索引有效利用的前缀匹配策略
一、索引失效的常见陷阱 在数据库查询优化领域,LIKE语句的索引使用问题长期困扰着开发者。当我们在电商平台的用户表中执行类似 SELECT * FROM users WHERE username LI
UNION ALL与UNION的性能差异及选择技巧
一、底层机制解析 UNION与UNION ALL作为SQL集合操作的核心运算符,其性能差异源于数据处理的本质区别: 排序去重机制 当使用UNION时,数据库引擎会自动执行以下流程: 系统需要创建临时表
避免WHERE子句中使用函数的索引优化策略
当索引失效时发生了什么? 在日常数据库性能调优中,开发者常遇到这样的场景:明明已经建立了索引,但查询性能却未达预期。通过EXPLAIN命令分析执行计划时,会看到"Using where; Using
EXISTS 替代 IN 的性能优化技巧
使用 在数据库查询优化中,IN 和 EXISTS 是开发者常用的两种子查询操作符,但它们对性能的影响却大相径庭。本文将通过实际场景分析,深入探讨为何 EXISTS 在多数情况下比 IN 更高效,并分享