一次查询读了几棵树
一次查询到底读了几棵树、回表几次?
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.
「覆盖索引可以避免回表」这句话谁都背得出,但它省掉的是几次、每次贵在哪,多数人没算过。这一份全程逼数字:命中 100 行,回表 100 次,随机还是顺序。
顺带解决两个日常问题:为什么不该写 SELECT *(比「浪费带宽」实在得多的那个理由),以及用 UUID 当主键除了体积还会多出什么。
最后一幕问代价:这张表写入 QPS 3000,为了覆盖加一个四列索引,每次写多做了什么。
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.