In realtà non so perché questo è stato fatto, ma una ragione che posso immaginare è l'ottimizzazione della ricerca e del recupero dei metadati dei post (data, autore, ecc.).
According to Joel (e Joel ha sempre ragione! ;-) i database memorizzano i loro dati in campi a lunghezza fissa che contengono record a lunghezza fissa, quindi è facile passare da una riga all'altra semplicemente incrementando un puntatore per la lunghezza del byte di un record. Ma i grandi campi di testo usati per memorizzare il testo non possono avere una dimensione fissa, perché la lunghezza di un post varia su un ampio intervallo e la creazione di una memoria di lunghezza fissa abbastanza grande da contenere tutti i messaggi spreca enormi quantità di spazio. Ciò significa che memorizzare il testo del post nella stessa tabella delle altre informazioni lo renderebbe molto più lento quando si desidera recuperare i metadati per un numero elevato di post, come ogni volta che qualcuno visualizza la pagina principale del forum.
Il modo per ottenere il meglio da entrambi i mondi consiste nel mettere i campi a lunghezza fissa (ad esempio tutto tranne il testo del post) in una tabella e i campi a lunghezza variabile (ad esempio il testo del post) in un altro.
fonte
2009-02-20 21:12:29
Non sono d'accordo, questo argomento è stato ampiamente discusso qui e in altri siti. http://stackoverflow.com/questions/548793/a-good-tutorial-on-creating-a-php-forum-from-scratch/548810#548810 – barfoon
@barfoon, non si tratta di creare un forum, lui è volendo sapere perché phpBB fa quello che fa. Penso che sia una buona domanda. Ora se avesse chiesto, qual è il modo migliore per costruire un forum, sarei d'accordo con te. – Malfist
"Quale pensi sia il modo migliore?" non suona specifico per phpBB. – barfoon