MySQL技术文章
-
用 MySQL 生成列保存订单计算结果并建立索引,说明 VIRTUAL 与 STORED 的取舍、表达式匹配规则、JSON_UNQUOTE 用法和 EXPLAIN 检查方法。297 收藏 -
数据库 · MySQL | 2个月前 | MySQL · 回滚 · 数据库运维 · MySQL 8.4 SET PERSIST SET PERSIST_ONLY RESET PERSIST mysqld-auto.cnf persisted_variables
MySQL 8.4 的 SET PERSIST 可以把全局系统变量同时写入运行时和 mysqld-auto.cnf,SET PERSIST_ONLY 则只为下一次启动准备配置。本文用连接数调整场景拆开两者的作用域、权限、复查与 RESET PERSIST 回退边界,避免把临时改动误当成永久配置。296 收藏 -
MySQL JSON_TABLE 可以把 JSON 文档投影成关系表。本文用订单、商品和选项的嵌套数组说明根路径、NESTED PATH、FOR ORDINALITY,以及缺失字段和类型转换的处理边界。296 收藏 -
MySQL JSON 列不能直接按内部路径建立普通索引时,可以把高频 JSON_EXTRACT 路径投影为明确类型的生成列,再按查询条件建立索引。本文说明 JSON_UNQUOTE、表达式匹配、EXPLAIN 和写入成本。296 收藏 -
MySQL ST_HausdorffDistance 返回两个几何值的离散 Hausdorff 距离。本文用 LineString 说明显式顶点取样、长度单位、支持的几何组合、SRS 以及 NULL 和错误边界。296 收藏 -
MySQL ROW_NUMBER 遇到相同排序值时仍会给每行不同编号。本文说明 peers 的含义,并用时间与唯一 id 组成复合排序键,让分组排名和分页结果保持确定。296 收藏 -
解释 MySQL InnoDB 事务中普通 SELECT 与 SELECT ... FOR UPDATE 的差异,用库存扣减示例说明丢更新风险、锁定读边界和可复核的验证方法。295 收藏 -
数据库 · MySQL | 1星期前 | 并发 · MySQL · 数据库 · InnoDB · mysql innodb AUTO_INCREMENT innodb_autoinc_lock_mode
MySQL InnoDB 的 interleaved 自增锁模式允许多个 INSERT-like 语句并发分配编号。本文区分语句交错、bulk insert 预分配和事务回滚造成的间隔,并给出复制模式下的选择依据。295 收藏 -
数据库 · MySQL | 2星期前 | MySQL · JSON · 数据校验 · JSON_SCHEMA_VALID CHECK 约束 MySQL JSON Schema JSON 结构校验 JSON_SCHEMA_VALIDATION_REPORT
用 MySQL 的 JSON_SCHEMA_VALID() 先判断 JSON 文档是否符合对象结构,再用 JSON_SCHEMA_VALIDATION_REPORT() 定位 required、类型和范围错误,并说明 NULL、非法 JSON、$ref 以及 CHECK 约束中的处理边界。293 收藏 -
批量更新从几百行扩大到几十万行后,慢点往往不在 UPDATE 语句本身,而在索引维护、锁持有时间和事务日志压力。本文用订单归档场景拆开原因,并给出按主键分批提交的验收边界。291 收藏 -
用 MySQL 8.0 隐形索引在不删除索引的前提下做查询计划对照,核对 EXPLAIN、实际耗时和恢复动作,降低索引下线风险。291 收藏 -
MySQL JSON 列不能直接按普通方式建索引。本文用生成列提取 JSON 路径中的字符串和数值,再建立二级索引,并用 EXPLAIN 检查查询是否匹配。291 收藏 -
通过 performance_schema.threads 找到 THREAD_ID,再使用 SET RESOURCE GROUP 将指定线程切换到目标资源组,并掌握权限、线程类型和本地生效范围。291 收藏 -
MySQL 合并多个查询结果时,UNION 默认删除重复整行,UNION ALL 保留所有行。本文从业务语义、列位置、整行去重以及 ORDER BY、LIMIT 的作用范围说明如何选择,避免误删明细或为不必要的去重增加开销。290 收藏 -
MySQL ST_IsClosed 根据折线首尾判定闭合,多折线要求各成员分别闭合。本文给出查询示例,并说明 NULL、简单性、容差与地理坐标系限制。289 收藏