Het is waar dat TEXT elke invoer aankan die u in het VARCHAR- of CHAR-veld zou plaatsen. In feite kan TEXT gegevens verwerken die u misschien ook in DECIMAL, INT of bijna elk ander type wilt invoeren. Als we deze logica volgen, kunnen we net zo goed van elke kolom een TEKST-type maken.
Maar dit zou een vergissing zijn. Waarom? Omdat het gebruik van het juiste kolomtype voor de verwachte invoer de database in staat stelt zoekopdrachten beter te optimaliseren, minder schijfruimte in beslag neemt en het gegevensmodel gemakkelijker te begrijpen en te onderhouden is.
Met betrekking tot de vragen:een gebruikersnaamkolom moet VARCHAR(20) gebruiken, omdat je zou willen en verwachten dat de meeste gebruikersnamen te kort zijn, meestal niet meer dan 10 - 20 tekens lang. Voor een recensiekolom (zoals een filmrecensie of boekrecensie) zou een TEKST-type geschikt zijn, aangezien recensies een enkele alinea tot meerdere pagina's kunnen beslaan.
Met betrekking tot indexen, probeer deze link:
http://20bits.com/articles/interview-questions-database-indexes/