Det er rigtigt, at TEXT kan håndtere enhver input, du vil placere i VARCHAR- eller CHAR-feltet. Faktisk kunne TEXT håndtere og data, du måske også vil indsætte i DECIMAL, INT eller næsten enhver anden type. Ved at følge denne logik kan vi lige så godt gøre hver kolonne til en TEKST-type.
Men dette ville være en fejl. Hvorfor? Fordi brug af den passende kolonnetype til det forventede input giver databasen mulighed for bedre at optimere forespørgsler, bruger mindre diskplads og gør datamodellen nemmere at forstå og vedligeholde.
Med hensyn til spørgsmålene:en brugernavnskolonne skal bruge VARCHAR(20), da du ville ønske og forvente, at de fleste brugernavne bliver for korte, normalt ikke mere end 10 - 20 tegn lange. Til en anmeldelseskolonne (som en filmanmeldelse eller boganmeldelse) vil en TEKST-type være passende, da anmeldelser kan strække sig over et enkelt afsnit til flere sider.
Med hensyn til indekser, prøv dette link:
http://20bits.com/articles/interview-questions-database-indexes/