看見世界
資料庫:一次只鑽一塊
不按「索引最佳化 / 交易 / 調校」這麼切 —— 那種題的底牌只能寫成「注意選擇率、注意鎖」。這裡切的是複合索引的欄位順序、一條 UPDATE 到底鎖了什麼、OFFSET 那一步做了什麼,一份鑽一塊。
這批提示詞目前只有简体中文的,其他語言還沒有。
怎麼用
這一批是學習型的:它會引導你,不會追到你說不出話為止。卡住時它先問你卡在哪一層(沒聽過 / 知道但不明白為什麼 / 明白但用不上),再決定給什麼;同一個點引導兩次還不通才直接講,講完要你用自己的話複述一遍。
預設按 MySQL / InnoDB 講 —— 這塊的坑有一半是實作細節,叢集索引、回表、間隙鎖在別家不是這麼回事。用 PostgreSQL 或別家的照樣能練,只要在第一句話裡說一聲,它會按你那家講,並在結論不同的地方點出來。
怎麼開始
- 挑一份,點開它,把提示詞複製走。
- 新開一個空對話貼進去,第一句話先說你用的是哪家、哪個版本(不說就按 MySQL 8 講)。
- 然後什麼都別說,等它問第一個問題。
中途隨時能喊的四個口令
跳过立刻進下一幕换个说法這一處換個角度再講一遍直说吧講完整答案,然後要我複述复盘立刻跳到收尾,輸出複盤卡片
三條坑
- 末尾的底牌別自己先讀 —— 那一欄「常見的想錯」寫的就是每一問的答案。
- 準備好被追數字。「快一些」「省了 IO」會被當場打斷:幾行?幾次?幾倍?說得出結論說不出數字,就是背的。
- 它開始誇你的時候,提醒它看「不許誇我」那條。引導不等於哄。
先做「複合索引的順序」,它是這批的地基 —— 後面「鎖加在索引記錄上」「掃描列數為什麼這麼大」都要用到那句「葉子上是字典序」。線上正被並行問題咬著的,從「先查再改」開始;查詢慢的,從「讀了多少列」開始。