← Tutti gli episodi
Copertina di Lo schedario
Stagione 76 · Episodio 004

Lo schedario

2 ottobre 2026 5:06
0:00 5:06

Ciao, e benvenuto nella quarta puntata della settantaseiesima stagione. Finora: le pagine, il tavolo di lettura, l'arte di fare meno viaggi. Ma anche con un tavolo, come fai a trovare una riga fra milioni senza leggere ogni scatola? Oggi la risposta: lo schedario, e la sua forma classica, l'albero.

Il problema, prima. Senza aiuto, trovare l'utente di cognome Rossi vuol dire leggere scatola dopo scatola finché non lo incontri: una scansione completa, viaggio su viaggio. Per una tabella piccola va benissimo. Per una tabella enorme è una rovina: potresti riportare a casa mezzo magazzino per trovare una riga sola.

La risposta della biblioteca è lo schedario. Cassetti di schede, tenute in ordine, ognuna che dice dove sta un libro. Non percorri le corsie: vai alla lettera erre, trovi Rossi, leggi la posizione sullo scaffale, fai un viaggio solo. Lo schedario baratta un po' di spazio e un po' di manutenzione per trasformare percorri tutto in cerca al volo. È la prima vera arma contro il primo nemico, per chi deve trovare qualcosa.

Ma quale forma rende buono uno schedario? Un elenco ordinato tutto disteso è comodo da cercare, dimezzi ogni volta la parte che resta, ma è un incubo da tenere in ordine quando inserisci: ogni scheda nuova in mezzo fa scivolare tutte le altre. La forma che si tiene bilanciata e bassa è l'albero. Immagina lo schedario fatto a strati: un cassetto in cima ti manda a uno di pochi cassetti sotto, e quello a uno di pochi altri ancora, giù fino alla scheda. La cosa chiave è questa: ogni cassetto tiene tante chiavi, non due o tre, perché un cassetto è una pagina, e una pagina ne contiene parecchie. Un solo passo giù, quindi, non dimezza la ricerca: la taglia in centinaia di parti. Ed è per questo che l'albero resta largo e basso. Anche una tabella da miliardi di righe sta in un albero profondo una manciata di strati: trovare una riga qualsiasi sono una manciata di viaggi, non milioni. E quando inserisci, non devi riordinare tutto: tocchi solo il cassetto giusto, e nel caso lo spacchi in due. Basso vuol dire pochi viaggi, e il primo nemico è battuto, per le ricerche.

C'è un secondo regalo. Siccome lo schedario è tenuto in ordine, tutti gli utenti dalla erre a fino alla erre e sono semplicemente una corsa di schede vicine. L'indice non ti dà solo la ricerca puntuale, ma anche gli intervalli e il risultato già ordinato, quasi gratis. È per questo che un indice aiuta quando chiedi un ordinamento o un intervallo, non solo quando chiedi l'uguaglianza esatta.

E adesso il costo, perché niente è gratis. Tenere lo schedario ordinato non è gratis. Ogni inserimento, modifica o cancellazione di un valore indicizzato deve aggiornare anche lo schedario: trovare il cassetto giusto, infilare la scheda, e se il cassetto è pieno spaccarlo in due. Quindi un indice accelera le letture e rallenta le scritture, e occupa spazio. Di nuovo il ritornello: l'indice compra velocità in lettura, e la paga in velocità di scrittura e in spazio. Tre indici fanno volare le letture e strisciare le scritture. Un indice che non usi è solo costo, puro.

Due parole su due tipi di schedario. Alcuni puntano soltanto allo scaffale: la scheda dice corsia sette, e poi fai il viaggio per prendere il libro. Uno speciale, invece, può essere l'ordine stesso degli scaffali: i libri sono fisicamente disposti nell'ordine dello schedario, e la scheda in fondo è già il dato. Con quest'ultimo, gli intervalli costano pochissimo, perché schede vicine sono scatole vicine. È una delle differenze profonde tra i motori che abbiamo visto nelle stagioni sui database.

Un ultimo trucco pratico. A volte la scheda stessa porta già i pochi campi che volevi, e allora non cammini affatto fino allo scaffale: la domanda trova risposta tutta dentro lo schedario. Immagina di voler solo sapere la città di Rossi, e che la scheda, oltre al nome, riporti già la città: hai finito alla scheda, senza toccare lo scaffale. Un indice scelto bene può trasformare una risposta da due viaggi in uno, o perfino in zero viaggi allo scaffale.

Voglio lasciarti con il modo giusto di pensare un indice. Un indice non è rendi la tabella più veloce: è una seconda copia ordinata di una fetta dei tuoi dati, tenuta allineata al prezzo di ogni scrittura. Perciò non aggiungi indici a una tabella: li aggiungi a una domanda, alle ricerche e agli ordinamenti precisi che la tua applicazione fa davvero. Indicizza le domande che fai spesso, butta gli schedari che nessuno apre, e ricorda che ogni schedario che tieni è un libro da ricatalogare a ogni modifica. L'indice giusto è quello che ripaga la propria manutenzione in viaggi risparmiati.

Per oggi ci fermiamo qui. Abbiamo visto lo schedario come arma contro la scansione completa, la forma ad albero largo e basso che tiene le ricerche a pochi viaggi, il regalo degli intervalli ordinati, e il costo onesto di tenere tutto in ordine a ogni scrittura. Lo schedario è la nostra prima, grande scommessa: più lavoro in scrittura in cambio di molto meno lavoro in lettura. Nella prossima puntata: due modi di tenere l'ordine. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.