"Ddl"
- DDL 與 DML(定義結構與動資料)
看到「這個帳號只需要 DML 權限」或遷移文件把兩者分開講時,查這條界線切在哪裡
- Constraint(約束)
看到「這個保證要來自約束而不是來自習慣」,或想確認某一欄會不會出現 NULL 時,查這一層由誰擋
- SQL.18 外鍵與參照完整性:宣告、生效與查詢得到的保證
外鍵擋下哪些寫入與 NULL 的放行、SQLite、PostgreSQL 與 MySQL 讓宣告與生效分開的位置與查法、約束生效後查詢省掉的判斷、父列刪除時子列的去向,以及外鍵涵蓋不到的寫入與規則
- MySQL Metadata Lock Deep Dive
MySQL metadata lock、DDL blocking、long transaction、online schema change、MDL observability 與 incident runbook
- Spanner Schema Migration Without Downtime + Interleaved Tables
Spanner DDL 是 long-running operation、用 TrueTime 給每次 schema change 分配 version timestamp、所有 read / write 對應自己 transaction timestamp 看到對應 schema。Interleaved table 是 storage-level parent-child 物理交錯、不是 logical FK。本文走 schema change lifecycle、interleaved layout 機制、backfill capacity 影響、production 踩雷(backfill 時間沒估、interleave 事後重建、interleave 與 FK 混淆、ADD COLUMN NOT NULL 沒帶 DEFAULT、舊 client 的 schema cache)、跟 PostgreSQL online schema change 對照