SuperAPI AI 工具集

mysql

数据与分析

查看项目

更新于 10-15 21:49

技能介绍

用途:MySQL 是广泛使用的关系型数据库管理系统,作为 LAMP 栈中的“M”,支撑 WordPress、Rails 等 Web 后端。该技能在需要关系型数据存储、ACID 事务保证、读扩展或 JSON 文档查询时提供协助。

主要能力:覆盖 InnoDB 存储引擎与 B+Tree 聚簇索引、基于 EXPLAIN 的查询优化、事务、主从复制拓扑,以及 JSON 列与函数索引。资料给出 upsert 写法:INSERT INTO users (id, name) VALUES (1, 'Jane') ON DUPLICATE KEY UPDATE name = 'Jane'; 并说明 InnoDB 按主键物理聚簇存储行,主键查找极快。JSON 函数索引示例:ALTER TABLE commerce.orders ADD INDEX idx_customer_tier ((CAST(details->>'$.customer.tier' AS CHAR(20)))); 半同步复制保证至少一个只读副本收到事务事件后才返回成功。

使用方式:设计表时选择紧凑主键(BIGINT UNSIGNED AUTO_INCREMENT 或有序 UUID v7),专用服务器将 innodb_buffer_pool_size 设为物理内存的 70-80%,用 EXPLAIN FORMAT=JSON 检查执行计划,启用 binlog_format = ROW。分页推荐键集分页(seek 方法)替代大 OFFSET。

适用场景:Web 应用关系型后端、金融交易与订单结算、读多写少的横向扩展、JSON 半结构化文档查询。

限制与注意:避免随机 UUIDv4 作主键、生产代码使用 SELECT *、无字符集存储文本;默认 utf8mb4 与 utf8mb4_0900_ai_ci。常见错误包括锁等待超时(ERROR 1205)、连接过多(ERROR 1040)以及 EXPLAIN 出现 filesort 或临时表。参考资料为 MySQL 8.4 Reference Manual。