第 1 站练习答案
环境与会话
两个连接分别执行:
sql
SELECT CONNECTION_ID(), @@SESSION.time_zone, @@GLOBAL.time_zone;
SET SESSION time_zone = '+00:00';
SELECT CONNECTION_ID(), @@SESSION.time_zone, @@GLOBAL.time_zone;SESSION 值属于连接;另一个连接不会被改动。GLOBAL 值通常只作为新连接的初始值,不能代替连接池的会话初始化。
排序规则
sql
SELECT
'A' = 'a' COLLATE utf8mb4_0900_ai_ci AS insensitive_equal,
'A' = 'a' COLLATE utf8mb4_0900_as_cs AS sensitive_equal;预期前者为 1、后者为 0。排序规则不仅影响展示排序,也影响等值、唯一约束和索引查找语义。
请求路径
合格答案应包含:连接与认证 → 解析/语义检查 → 优化器 → 执行器 → InnoDB 索引与页 → redo/undo 等持久性机制 → 结果集。
加码题解:实验环境基线
sql
SELECT VERSION(), @@sql_mode, @@autocommit, @@transaction_isolation;
SHOW CREATE TABLE probe;关键推理
先记录 session 与 schema 真值,实验结果才可复现。
可替代方案
将变量快照保存到实验日志表或 CI artifact。
典型错误
只截图 GUI 结果,不记录连接会话变量和客户端默认设置。
复盘时请附上版本、隔离级别、执行计划或恢复位置中的相关证据;没有证据的“看起来正确”不算完成。