MySQL
已收录文章:95篇
-
复盘一次 MySQL 写入延迟突然升高的问题:从影响面和时间线入手,通过 innodb_trx、history list length 和 purge 状态定位长事务拖住 undo 清理,并给出修复和防复发清单。242 收藏
-
把 MySQL LOAD DATA 导入大文件从一次性命令升级成可回滚流程:先固定字符集和字段边界,再隔离错误行,最后用临时表与原子切换避免半成品进入业务表。240 收藏
-
数据库 · MySQL | 1个月前 | MySQL · 索引 · 执行计划 · sql优化 · 性能排查 · 执行计划 MySQL 8.4 EXPLAIN FORMAT=JSON cost_info query_costMySQL 查询慢时,EXPLAIN 的 rows 只是行数估算,真正影响优化器取舍的还包括 cost_info。本文用订单列表场景拆解 query_cost、read_cost、条件评估成本、prefix_cost 的关系,再用 EXPLAIN ANALYZE 复核估算偏差,避免把 cost 数字直接当成毫秒。239 收藏
-
MySQL 8.4 的 InnoDB 死锁发生后会自动选择一个事务回滚,但应用仍要识别错误并重试。本文用订单与库存更新场景演示如何读取 SHOW ENGINE INNODB STATUS、开启 innodb_print_all_deadlocks、判断受害事务并验收重试策略。238 收藏
-
MySQL 8.4 默认不再启用 mysql_native_password,老应用可能在发版后出现账号认证失败。本文用账号盘点、灰度改造、TLS 连通性检查和回退边界,讲清迁移到 caching_sha2_password 的可靠做法。236 收藏
-
数据库 · MySQL | 1个月前 | MySQL · InnoDB · MySQL 8.4 ALGORITHM=INSTANT TOTAL_ROW_VERSIONS ERROR 4092 Online DDLMySQL 8.4 默认使用 ALGORITHM=INSTANT 加列或删列,但每次变更会累积表的行版本;本文用 TOTAL_ROW_VERSIONS 和 INFORMATION_SCHEMA 设计阈值监控,说明 ERROR 4092 的安全处理与重建窗口。234 收藏
-
MySQL 生产表在线加索引时,真正需要盯住的是 DDL 算法、元数据锁和回滚条件。本文用一套可执行的检查流程,说明如何先判断可用算法,再观察阻塞与进度,最后用低风险方式完成变更。230 收藏
-
数据库 · MySQL | 1个月前 | MySQL · 复制 · 主键 · InnoDB · 数据库迁移 · 数据库迁移 MySQL 8.4 sql_generate_invisible_primary_key 生成不可见主键 my_row_idMySQL 8.4 可以为没有显式主键的 InnoDB 表生成不可见主键。本文用迁移排查场景说明如何确认 my_row_id、区分源库与副本行为,并给出备份、建表和回滚验收清单。208 收藏
-
EXPLAIN 的 filtered 很低不等于索引失效。本文用可复现实验拆开 rows、filtered、实际扫描行数与统计信息之间的关系,给出索引、ANALYZE TABLE 和回归验证的判断顺序。205 收藏
-
数据库 · MySQL | 1个月前 | MySQL · CPU · 数据库 · MySQL 8.4 MySQL资源组 RESOURCE_GROUP RESOURCE_GROUP_ADMIN CPU限流MySQL 8.4 的资源组可以把线程或单条 SQL 放进指定 CPU 资源边界,适合给报表、后台批处理和在线请求做隔离。本文用 RESOURCE_GROUP 语句与 RESOURCE_GROUP 优化器提示演示创建、绑定、检查和回滚,并说明权限与线程范围的限制。191 收藏
-
MySQL 查询不走索引,常见原因不是索引不存在,而是 SQL 写法让优化器难以利用索引。函数包列、隐式类型转换、范围过宽和联合索引顺序不匹配,都应该用 EXPLAIN 验证后再改写。189 收藏
-
MySQL 临时表在一个连接里明明存在,换个请求却提示表不存在,通常不是表被误删,而是会话边界或连接池复用方式发生了变化。本文用可复现 SQL 说明临时表的生命周期、连接核对、连接池风险和断线验收。188 收藏