MySQL实战:从建表设计到慢查询排查

数据量增长后,查询为何变慢?从MySQL表结构与索引设计入手,结合执行计划定位瓶颈,再理解事务、锁和备份恢复,兼顾数据读写效率与可靠性。

阅读245
发布人iPython
发布时间2026-09-24
MySQL实战:从建表设计到慢查询排查

MySQL DATETIME与TIMESTAMP精度差异及批量修正方法

详解MySQL中DATETIME与TIMESTAMP的时间精度差异,默认精度为0秒,最大支持6位小数。通过对比实验展示不同精度下的数据截取行为。提供基于游标的存储过程代码,实现库内所有指定字段类型的批量修改(如提升至毫秒精度)。同时分析两种类型在时区、范围、字节占用及应用场景上的区别,辅助开发者做出最佳选型。

MySQL DATETIME与TIMESTAMP精度差异及批量修正方法

MySQL死锁原因分析与解决方案详解

本文深入解析MySQL InnoDB引擎中死锁产生的核心机制,重点剖析因加锁顺序不一致、GAP锁范围冲突等典型场景。通过具体案例说明如何复现死锁,并提供使用`INSERT ... ON DUPLICATE KEY UPDATE`、统一加锁顺序等实用的预防与解决方案。

MySQL死锁原因分析与解决方案详解

一条SQL的执行过程:详解MySQL架构设计与InnoDB核心原理

本文通过一条UPDATE语句深入解析MySQL的整体架构。从应用层连接建立、服务层的SQL解析优化,到存储引擎层Buffer Pool的冷热分离LRU机制及Undo/Redo日志的双写协调,清晰还原数据变更的内部处理逻辑,帮助开发者理解数据库高效运行的底层原理。

一条SQL的执行过程:详解MySQL架构设计与InnoDB核心原理

MySQL LIMIT执行机制与结果不一致排查

本文深入解析MySQL中LIMIT的执行过程。通过对比`SELECT id`走索引覆盖与`SELECT *`全表扫描的差异,揭示了因Server层截断记录导致的回表成本差异。同时解释了为何看似相同的ORDER BY + LIMIT语句会返回不同的结果集,核心在于隐式排序规则(主键)与显式排序规则(二级索引+主键)的一致性。

MySQL LIMIT执行机制与结果不一致排查

MySQL 表连接(Inner Join/Left Join)ON 与 WHERE 条件的执行差异解析

本文深入解析 MySQL 基于嵌套循环连接(NLJ)的表连接执行流程,重点对比 Inner Join 和 Left Join 在 ON 与 WHERE 子句放置过滤条件时的行为差异。通过 SQL 示例与 EXPLAIN 执行计划分析,阐明为何内连接中两者等价,而外连接中被驱动表的过滤条件必须置于 ON 以保持左连接特性,避免意外退化为内连接或导致 NULL 匹配结果。

MySQL 表连接(Inner Join/Left Join)ON 与 WHERE 条件的执行差异解析

MySQL数据库表操作指南:创建、插入与数据管理

本文详细讲解MySQL数据库中常见数据类型的选用,以及如何执行创建表、删除表、插入数据(单条/多条)、更新和删除记录的完整流程。涵盖PRIMARY KEY、AUTO_INCREMENT等关键约束的使用,以及TRUNCATE快速清空数据的场景,适用于初学者掌握基础的SQL表操作。

MySQL复合查询与内外连接实战详解

本文详解MySQL中的复合查询与内外连接技术。涵盖多表笛卡尔积筛选、自连接及四种子查询类型(单行、多行IN/ALL/ANY、多列),演示From子句中嵌套临时表的聚合技巧,并对比Union去重与Union All保留重复。深入解析内连接、左外连接与右外连接的匹配逻辑与NULL填充机制,助力复杂数据关联处理。

MySQL复合查询与内外连接实战详解

MySQL字段为null的加减乘除运算方式与避坑指南

在 MySQL 中进行数值运算时,任何涉及 NULL 的加减乘除结果均为 NULL,导致数据计算失败。本文介绍使用 IFNULL() 函数将空值转换为默认值(如 0)以修复算术逻辑,并重点解析在动态 SQL 中处理 NULL 字段过滤时的陷阱,强调原生 SQL 在处理此类问题时比 MyBatis 动态标签更稳定。

MySQL字段为null的加减乘除运算方式与避坑指南

MySQL存储过程使用临时表返回结果集

本文介绍在MySQL存储过程中利用临时表处理复杂逻辑并返回结果集的方法。文章指出MySQL中游标的性能劣势及动态SQL拼接的臃肿问题,通过创建临时表、声明变量、使用游标遍历数据源,并结合预处理语句(Prepare/Execute)按条件聚合统计业务指标。最终将汇总数据插入临时表,并通过再次执行动态查询从该表提取结果集返回给客户端,同时提供了代码示例和注意事项。

MySQL存储过程使用临时表返回结果集

MySql常见查询方式详解

本文详细解析MySQL常用数据查询方法。从基础的数据插入(Insert)开始,涵盖 count、sum、avg 等聚合函数的使用;讲解 group by 分组及 having 过滤逻辑;深入剖析多表查询中的笛卡尔积、内/外连接原理及自连接技巧,并对比 union 与 or 的合并策略,提供清晰的SQL语法示例与应用场景说明。

MySql常见查询方式详解

MySQL Windows 下载安装与详细配置教程

本文详述在 Windows 系统下安装 MySQL 数据库的完整流程。从官方下载引导开始,演示自定义安装路径的选择,并逐步解析精细配置向导中的服务器类型、端口设置及 UTF-8 编码选项。最后提供 CMD 连接测试方法,以及解决“Start service”报错时清理残留数据和注册表的实用排错方案。

MySQL Windows 下载安装与详细配置教程

Discuz! 4.1 论坛搭建指南:环境配置与安装步骤

本文详细介绍如何使用服务器套件快速搭建基于 Discuz! 4.1 的论坛。主要内容包括准备 Apache、PHP 和 MySQL 等运行环境,通过集成套件简化配置过程,以及上传并初始化论坛主程序的具体操作步骤,帮助用户独立搭建中文社区网站。