MySQL
已收录文章:52篇
-
数据库 · MySQL | 2个月前 | MySQL · 数据库 · 性能监控 · MySQL performance_schema events_statements_history_long DIGEST 异常 SQL 语句历史MySQL 的 performance_schema 会把近期语句按事件记录下来,DIGEST 还能把字面量不同的同类 SQL 归并观察。本文用 events_statements_history_long 说明如何抓取异常语句、区分总耗时与单次耗时,并处理历史表为空、采样范围有限等问题。352 收藏
-
MySQL 8.4 用 ROW_NUMBER() 做分页时,排序键不完整会让边界页出现重复或漏行。本文从稳定排序、窗口函数和游标条件三处核对结果,并给出可回归的分页写法。338 收藏
-
用最小 SQL 验证 MySQL READ ONLY 事务的真实边界:哪些普通表写入会失败,为什么临时表仍可修改,以及连接池复用时如何确认只读状态没有泄漏。335 收藏
-
MySQL 大表使用 LIMIT offset,size 时,数据库往往仍要扫描并丢弃前面的记录,页码越深越慢。本文用订单列表说明游标分页如何配合复合索引、稳定排序和上一页游标,兼顾速度、重复记录与翻页边界。331 收藏
-
MySQL 8.4 的 CHECK 约束已经可以真正拦截不满足条件的写入,但约束状态、NULL 三值逻辑和隐式转换会让排查结果与直觉不同。本文用可复现实验核对约束定义、失败写入和历史脏数据清理边界。326 收藏
-
MySQL EXPLAIN ANALYZE 会把优化器估算的成本与行数,和执行时的实际耗时、实际行数、循环次数放在同一棵执行树里。本文用订单查询的偏差案例,演示如何读 actual time、rows、loops,判断统计信息、索引选择和数据分布问题,并给出慢查询定位与回归检查方法。321 收藏
-
数据库 · MySQL | 2个月前 | MySQL · 执行计划 · 索引优化 · 数据库排查 · mysql 不可见索引 Invisible Index optimizer_switch 索引回归MySQL 的不可见索引适合用来观察“去掉这条索引会怎样”,但它不是删除前的自动回滚按钮。本文以订单查询为例,演示设置不可见、用 optimizer_switch 做单会话影子验证、检查执行计划和恢复可见性的边界。308 收藏
-
数据库 · MySQL | 2个月前 | MySQL · 回滚 · 数据库运维 · MySQL 8.4 SET PERSIST SET PERSIST_ONLY RESET PERSIST mysqld-auto.cnf persisted_variablesMySQL 8.4 的 SET PERSIST 可以把全局系统变量同时写入运行时和 mysqld-auto.cnf,SET PERSIST_ONLY 则只为下一次启动准备配置。本文用连接数调整场景拆开两者的作用域、权限、复查与 RESET PERSIST 回退边界,避免把临时改动误当成永久配置。296 收藏
-
用一组可复现的 MySQL 8.4 示例,讲清 INTERSECT 与 EXCEPT 的 DISTINCT/ALL、列数和类型边界,以及 NULL、优先级、ORDER BY 的验收方法。287 收藏
-
同一条 MySQL 查询使用预编译参数后可能出现不同执行计划。本文从参数类型、隐式转换、索引可用性和 EXPLAIN 复核入手,给出可回归的排查与改写方法。280 收藏
-
MySQL InnoDB 事务死锁发生后,不能只看一条报错就改重试。本文用订单与库存更新场景还原锁等待环路,演示如何读取 SHOW ENGINE INNODB STATUS、关联 performance_schema、判断受害事务并验证修复是否真正降低死锁风险。275 收藏
-
按月增长的订单或日志表,不必每次归档都全表搬运。本文用 MySQL 8.4 RANGE 分区示例,说明分区键设计、分区裁剪检查、按月新增与删除边界,以及上线前的回滚和验收方法。273 收藏