一条 UPDATE 锁了什么
UPDATE ... WHERE 一个没索引的列 —— 这时候「行锁」还是行锁吗?
Copia l'istruzione e scegli un modello. Farà l'intervistatore e ti interrogherà atto per atto invece di servirti la risposta.
Su un telefono con l'app installata, il sistema apre direttamente l'app. Dentro WeChat i collegamenti non aprono app esterne: aprilo prima in un browser.
Il testo copiato finisce con la griglia di correzione che il modello usa per valutarti. Non leggerla prima: vale l'averci arrivato da solo.
「InnoDB 是行锁」这句话缺了一个前提,而那个前提正是线上「一条 UPDATE 卡死全表」最常见的原因。这一份就是去把那个前提问出来。
第三幕会让你面对一件反直觉的事:一条不存在的记录,怎么锁? 你得先自己推出「不锁住它就挡不住别人插进来」,才轮到间隙这个词出场。
全程不接受「会锁住相关的行」这种说法 —— 它会打断你:把被锁住的记录一条条列出来,还有哪些区间。
Che cosa allena
Questo testo nel repository (la soluzione è in fondo a quel file — la vedrai)
Già fatto questo?
Accedi per segnare che l'hai fatto: la prossima volta vedrai in che giorno è stato.
Appunti di chi l'ha fatto
Come si usa
Questa serie è di tipo didattico: ti guida, non ti mette all'angolo. Quando ti blocchi chiede prima a quale livello sei bloccato (mai sentito / lo so ma non so perché / so perché ma non lo applico), poi decide che cosa darti. Spiega solo dopo averti guidato due volte, e poi ti chiede di ridirlo con parole tue.
Per impostazione predefinita ragiona in MySQL / InnoDB —— metà delle trappole qui sono dettagli implementativi, e indice clusterizzato, ritorno alla tabella e gap lock funzionano diversamente altrove. PostgreSQL o altro va benissimo: dillo nella prima frase e seguirà il tuo motore, segnalando dove le conclusioni cambiano.
Come iniziare
- Scegline uno, aprilo, copia il prompt.
- Incollalo in una chat nuova e vuota, e di' prima quale motore e quale versione usi (se non lo dici assume MySQL 8).
- Poi non dire altro e aspetta la sua prima domanda.
Quattro comandi da usare in qualsiasi momento
跳过Subito al prossimo atto换个说法Rispiega questo punto da un'altra angolazione直说吧Dammi la risposta completa, poi fammela ripetere复盘Vai subito alla scheda finale
Tre trappole
- Non leggere prima la griglia in fondo —— la voce «errori di ragionamento frequenti» è la risposta a ogni domanda.
- Preparati a dover dare numeri. «Un po' più veloce», «risparmia IO» viene interrotto subito: quante righe? quante volte? quante volte più veloce? Una conclusione senza numeri è imparata a memoria.
- Appena inizia a elogiarti, rimandalo alla regola «non elogiarmi». Guidare non è coccolare.
Parti dall'indice composto: è la base della serie, «i lock stanno sui record dell'indice» e «perché legge così tante righe» si appoggiano entrambi alla sua frase chiave. Se in produzione ti sta mordendo la concorrenza, parti da «leggi e poi scrivi»; se le query sono lente, dal piano di esecuzione.
Accedi per scrivere un appunto.