MySQL技术文章
-
用 JSON_CONTAINS_PATH、JSON_TYPE、JSON_LENGTH 和 JSON_TABLE 区分 MySQL JSON 路径缺失、JSON null 与空数组,并处理类型转换边界。209 收藏 -
数据库 · MySQL | 2星期前 | MySQL · 事务 · 并发控制 · InnoDB · READ COMMITTED MySQL一致性读 当前读 快照读 REPEATABLE READ FOR UPDATE
用两个事务的可复现实验解释 MySQL InnoDB 快照读为什么看不到另一个事务刚提交的数据,并对比 REPEATABLE READ、READ COMMITTED 与 SELECT ... FOR UPDATE 的适用边界。207 收藏 -
MySQL 存表情报错通常不是只改数据库默认字符集就够了,还要检查目标列和应用连接是否统一使用 utf8mb4。本文按检查、转换、连接配置和回滚边界给出一套可执行处理方法。207 收藏 -
MySQL 8.4 开启 sql_generate_invisible_primary_key 后,InnoDB 无主键表可能出现不可见的 my_row_id。本文用 SHOW CREATE TABLE、SHOW INDEX 和信息架构查询确认真实表结构,并说明复制与备份边界。206 收藏 -
EXPLAIN 的 filtered 很低不等于索引失效。本文用可复现实验拆开 rows、filtered、实际扫描行数与统计信息之间的关系,给出索引、ANALYZE TABLE 和回归验证的判断顺序。205 收藏 -
MySQL REGEXP_LIKE 适合做复杂文本匹配,但 NULL、大小写、行模式和索引预期都容易造成误判。本文用订单备注校验场景拆开匹配结果与执行边界。202 收藏 -
围绕 InnoDB 新增二级索引,说明如何用 ALGORITHM=INPLACE、LOCK=NONE 评估元数据锁等待、在线变更日志、临时排序文件和生产上线边界。202 收藏 -
InnoDB 检测到死锁后通常只回滚一个受害事务,以最小代价打破等待环。本文解释 victim 的选择依据、日志排查方式,以及应用收到 1213 后为什么要重试完整事务。201 收藏 -
MySQL 使用 REGEXP_SUBSTR 匹配带前缀文本时,返回的是完整命中而不是括号捕获组。本文解释返回边界,并用 REGEXP_REPLACE 回溯引用提取目标字段。199 收藏 -
用 MySQL EXPLAIN ANALYZE 结合 actual time、rows、loops 与 Using temporary、Using filesort,定位临时表和排序的真实开销,再决定改 SQL 还是改索引。196 收藏 -
MySQL 直方图用于补充非均匀分布列的选择性估计。本文用 ANALYZE TABLE 配置桶数,从 COLUMN_STATISTICS 检查采样与更新时间,再用 EXPLAIN 对照实际行数并给出安全回退方法。195 收藏 -
数据库 · MySQL | 4星期前 | MySQL · CPU · 数据库 · MySQL 8.4 MySQL资源组 RESOURCE_GROUP RESOURCE_GROUP_ADMIN CPU限流
MySQL 8.4 的资源组可以把线程或单条 SQL 放进指定 CPU 资源边界,适合给报表、后台批处理和在线请求做隔离。本文用 RESOURCE_GROUP 语句与 RESOURCE_GROUP 优化器提示演示创建、绑定、检查和回滚,并说明权限与线程范围的限制。191 收藏 -
MySQL 递归 CTE 的安全做法不是盲目调大上限,而是先写清终止条件,再按单次查询设置 cte_max_recursion_depth,并用执行时间、行数和结果边界复查。191 收藏 -
MySQL 临时表在一个连接里明明存在,换个请求却提示表不存在,通常不是表被误删,而是会话边界或连接池复用方式发生了变化。本文用可复现 SQL 说明临时表的生命周期、连接核对、连接池风险和断线验收。188 收藏 -
MySQL 8.4 Clone Plugin 适合把一个实例的 InnoDB 数据快速复制到另一个实例,但它不是跨大版本备份工具。本文从插件安装、捐赠端授权、接收端发起 CLONE INSTANCE,到版本、引擎和恢复结果核对,整理一条可回滚的实例级恢复路径。186 收藏