MySQL技术文章
-
数据库 · MySQL | 2个月前 | MySQL教程 · 慢查询治理 · 索引优化 · 分区表 · DBA实战 · mysql 分区表 慢查询 索引优化 MySQL 8.4 partition pruning
从订单历史表按月分区的慢查询切入,讲清 MySQL 8.x 分区裁剪的命中条件、失效写法、EXPLAIN PARTITIONS 验证、索引配合和上线检查。133 收藏 -
数据库 · MySQL | 2个月前 | 高并发 · 故障排查 · MySQL教程 · 事务隔离 · InnoDB锁 · mysql innodb 高并发 锁等待 MySQL 8.4 NOWAIT SKIP LOCKED
围绕高并发工单抢占和库存预占,讲清 MySQL 8.x InnoDB locking read 中 NOWAIT、SKIP LOCKED 的适用边界、复现方法、SQL 改写、锁等待诊断和上线检查。439 收藏 -
数据库 · MySQL | 2个月前 | MySQL教程 · 慢查询治理 · 索引优化 · JSON查询 · InnoDB实战 · mysql JSON 慢查询 索引优化 MySQL 8.4 多值索引
从标签检索接口慢查询切入,讲清 MySQL 8.x 多值索引如何让 JSON 数组条件命中索引,以及建索引、EXPLAIN 验证、写入成本和上线回滚检查。291 收藏 -
数据库 · MySQL | 2个月前 | InnoDB · 故障排查 · 生产实践 · MySQL教程 · 事务隔离 · mysql innodb Purge Lag History List 长事务 Undo
从 MySQL 8.4 InnoDB purge lag 入手,讲清 history list length、长事务、undo 暴涨和 purge 参数的生产排障方法。326 收藏 -
数据库 · MySQL | 2个月前 | 性能优化 · 执行计划 · 生产实践 · MySQL教程 · 索引优化 · mysql explain 索引优化 Index Condition Pushdown ICP
从 MySQL 8.4 Index Condition Pushdown 入手,讲清为什么用了索引仍可能回表拖慢,以及如何用 EXPLAIN、optimizer_switch 和线上指标验证 ICP 收益。179 收藏 -
从 MySQL 8.4 Skip Scan 入手,讲清复合索引没有左前缀条件时优化器为什么仍可能走索引,以及如何用 EXPLAIN ANALYZE 和 optimizer_switch 做生产验证。189 收藏 -
数据库 · MySQL | 2个月前 | 性能优化 · 执行计划 · 生产实践 · MySQL教程 · 数据库运维 · mysql 直方图 EXPLAIN ANALYZE Histogram 优化器统计信息
从 MySQL 8.4 直方图统计信息入手,讲清数据分布倾斜如何影响优化器行数估算,以及如何创建、验证和回滚 histogram。419 收藏 -
从 MySQL Invisible Indexes 入手,讲清如何用不可见索引灰度验证删索引风险,避免直接 DROP INDEX 带来的线上慢查询和回滚成本。388 收藏 -
数据库 · MySQL | 2个月前 | 性能优化 · InnoDB · 生产实践 · MySQL教程 · 数据库运维 · mysql redo log innodb 性能优化 innodb_redo_log_capacity
从 MySQL 8.4 的 innodb_redo_log_capacity 入手,讲清 redo log 容量、检查点压力、写入抖动和崩溃恢复时间之间的取舍,并给出上线检查清单。382 收藏 -
数据库 · MySQL | 2个月前 | MySQL教程 · 数据库实战 · 在线DDL · ALTER TABLE · 元数据锁 · mysql innodb MySQL 8 在线 DDL ALTER TABLE MDL 元数据锁 INSTANT
从订单大表加字段出发,讲清 MySQL 8.x 在线 DDL、ALGORITHM=INSTANT/INPLACE/COPY、metadata lock、row version 上限、复制延迟和上线复查。323 收藏 -
数据库 · MySQL | 2个月前 | InnoDB · MySQL教程 · 数据库实战 · 死锁排查 · 锁等待 · mysql innodb 死锁 事务 锁等待 MySQL 8 data_locks
从转账事务死锁复现出发,讲清 MySQL 8.x InnoDB 行锁、间隙锁、data_locks、data_lock_waits、SHOW ENGINE INNODB STATUS、事务顺序和重试策略。105 收藏 -
数据库 · MySQL | 2个月前 | 执行计划 · MySQL教程 · 慢查询治理 · 索引优化 · 数据库实战 · mysql 执行计划 慢查询 索引优化 MySQL 8 EXPLAIN ANALYZE
从订单慢查询复现出发,讲清 MySQL 8.x EXPLAIN ANALYZE、估算行数与真实行数、loops、Using filesort、复合索引和上线复查。389 收藏 -
MySQL数据归档主要有四种方式。1.使用SQL语句手动归档,通过INSERT和DELETE迁移历史数据,适合小规模场景但需注意事务控制、索引影响和备份确认;2.利用事件调度器实现定时自动归档,可设定周期任务并建议配合分区使用以减少性能影响;3.结合时间分区表进行归档,提升查询效率且操作整个分区更高效,但存在分区键设计限制;4.借助第三方工具如pt-archiver或mysqldump,前者支持边归档边删除并控制资源占用,后者适用于低频小规模归档。根据数据量和业务需求选择合适方法,小型项目可用SQL+事件127 收藏 -
MySQL中常见的Join类型包括INNERJOIN、LEFTJOIN、RIGHTJOIN和CROSSJOIN,INNERJOIN性能最佳。INNERJOIN返回两表匹配行,LEFTJOIN返回左表全部记录,RIGHTJOIN返回右表全部记录,CROSSJOIN返回笛卡尔积。Join查询慢的原因主要有:缺少索引导致全表扫描、字段类型不一致无法使用索引、表数据量过大、Join层级或字段过多、驱动表选择不合理。优化方法包括:1.为Join字段加索引,尤其是主键和外键;2.控制Join规模,提前过滤减少数据量;414 收藏 -
MySQL数据备份的关键方法包括:一、使用mysqldump进行逻辑备份,适合中小型数据库,可通过命令实现全量备份并结合压缩节省空间;二、物理备份通过直接复制数据文件实现,速度快但需停机或使用一致性机制;三、利用binlog实现增量备份,支持时间点恢复,建议定期归档日志以减少数据丢失风险;四、合理策略如每日全量+小时binlog归档、周全量+日增量+binlog、主从复制+定时备份等,同时必须定期验证备份可恢复性。105 收藏