数据库死锁是指两个或多个事务在执行过程中,因争夺资源而造成的一种互相等待的现象。当死锁发生时,这些事务都无法继续执行,除非有外力介入打破这种循环等待。 解决方案可以从三个层面来处理: 层面 方法 说明 数据库层面 超时机制、死锁检测 innodb_loc
MySQL 慢查询排查遵循 "发现 → 定位 → 分析 → 优化 → 验证" 五步法: 步骤①:开启慢查询日志,捕获慢 SQL。 步骤②:查看慢查询日志,定位问题 SQL。 步骤③:使用 EXPLAIN 分析执行计划。 步骤④:根据分析结果优化(索引/SQL 改写)。
MySQL SQL 调优是一个系统化工程,核心流程如下: 上图展示了 SQL 调优的完整流程。整体分为四个阶段: 阶段一(开启监控):通过配置 slow_query_log=ON 开启慢查询日志,设置 long_query_time 阈值(默认 10 秒,生产建议 1-3 秒
一、状态含义 通过 gcadmin 命令查看集群状态时,数据节点的 DataState 字段用于标识节点整体数据的健康状态: 正常值为 0:该节点所有分片数据正常,主副本完全一致 值为 1:该节点存在未解决的数据故障事件(DML 数据不一致、DDL 表结构不一致或存储层异常),节点
现代互联网架构中,不建议使用存储过程,主要原因如下: 问题维度 具体表现 影响 可维护性 代码分散在应用和数据库,难以统一管理 排查问题困难 可调试性 缺乏完善的调试工具,日志难以追踪 定位 bug 成本高 可移植性 不同数据库语法差
MySQL 中这三种日志各司其职,核心区别如下: 对比维度 redo log undo log binlog 归属层级 InnoDB 引擎层 InnoDB 引擎层 MySQL Server 层 核心作用 崩溃恢复,保证持久性 事务回滚、MVC
SQL的实际执行顺序是什么样的
delete是把目录撕了,truncate是把书的内容撕下来烧了,drop是把书烧了。
一套成熟的方法论