标签

mysql

05-MySQL 优化与版本细节:SQL 优化清单与行为差异
本文给出可照改的 MySQL SQL 优化清单,梳理跨版本行为差异。优化先看 EXPLAIN ANALYZE,统计失真先 ANALYZE TABLE;写法上显式列名、LIMIT 配 ORDER BY、条件可走索引、IN 不宜过长,避免前导 %,警惕相关子查询。版本差异重点:VARCHAR 长度按字符,INT(11) 仅显示宽度且已废弃,引号用参数化代替转义,utf8 实为 utf8mb3;JSON 自 5.7 原生支持,8.0.17 起可建多值索引。生产选 LTS,9.7 为当前 LTS,之后改用日历版本号。
2026-10-20
|
1
|
0
|
0
04-MySQL 报表实战:同环比、日期序列与多表连接
MySQL 系列第 4 篇。同环比报表要在同一行里给出本期、上一期、去年同期的几十个指标,折线图还要补出中间没有数据的那几天。这篇拆三件事:三个时间窗怎么各自聚合再横向拼成一行,日期序列怎么用递归 CTE 造出来再左连接补零,同一张表怎么用不同别名连出多表关系。
2026-10-20
|
0
|
0
|
0
03-MySQL 函数专题:CONCAT、CONCAT_WS 与 GROUP_CONCAT
MySQL 系列第 3 篇。字符串拼接是最容易出静默错误的一类操作:CONCAT 遇到 NULL 整条结果就变 NULL,CONCAT_WS 会跳过 NULL 但分隔符为 NULL 时结果也是 NULL,GROUP_CONCAT 默认只给 1024 个字符且超出不报错。这篇讲透三个函数,再把常用函数按类别整理成能直接查的速查表。
2026-10-20
|
0
|
0
|
0
02-MySQL 事务、锁与索引:ACID、隔离级别与索引失效
文章围绕MySQL事务、锁与索引,强调三者相互关联:事务定边界、锁管并发、索引决定锁粒度,并提供双会话可复现实验。核心结论是:ACID由undo log、redo log及锁与MVCC支撑,提交时只保证redo落盘和内存页变更;默认RR靠版本链与ReadView实现一致性读,RC每次快照读重建ReadView;锁分MDL、表级、意向和行级,next-key lock依赖索引,未走索引的UPDATE可能锁全表;死锁会被检测并回滚;索引为B+树,二级索引需回表,联合索引遵循最左前缀。读者可复现实验并排查长事务、锁等待、死锁与索引失效。
2026-10-20
|
2
|
0
|
0
01-MySQL 基础:类型、建表与查询
MySQL 系列第 1 篇。表结构是所有活的地基:数值类型别用 FLOAT 存金额,VARCHAR 的长度按字符算,TIMESTAMP 有 2038 年的上限。这篇按选类型、建表、改表、增删改查、连接查询、分组聚合的顺序走一遍,每一步都给出当前版本还能直接用的写法。
2026-06-26
|
6
|
0
|
0
MySQL 入门概念
本文介绍了MySQL数据库的核心操作:DDL涵盖数据库和表的创建、删除及数据类型约束;DML包括数据的插入、更新和删除;DQL涉及条件、排序、聚合、分组、分页及多表连接查询(内连接、左/右外连接)。重点讲解了自连接(用于层级数据如省市)和子查询(嵌套查询结果作为条件或表)。最后给出了pymysql连接数据库、执行SQL、防注入及提交回滚的基本流程。读者可系统掌握MySQL增删改查及Python操作数据库的关键技能。
2026-06-21
|
1
|
0
|
0