Skip to content

第 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 结果,不记录连接会话变量和客户端默认设置。

复盘时请附上版本、隔离级别、执行计划或恢复位置中的相关证据;没有证据的“看起来正确”不算完成。

用心记录每一步成长