TEXT
dataobjekter, som deres navnebror antyder, er nyttige til lagring af langformede tekststrenge i en MySQL-database. De fire TEXT
dataobjekttyper er bygget til lagring og visning af betydelige mængder information i modsætning til andre dataobjekttyper, der er nyttige med opgaver som sortering og søgning i kolonner eller håndtering af mindre konfigurationsbaserede muligheder for et større projekt. De forskellige TEXT
objekter tilbyder en række lagerplads fra 1 byte til 4 GB og er ikke designet til lagring af beregningsværdier. Det er almindeligt at se disse bruges til at gemme produktbeskrivelser for et salgssted, ejendomsresuméer til ejendomsdatabase og lang artikeltekst på et nyhedswebsted. TEXT
objekter bruges bedst, når VARCHAR
og andre strengbaserede dataobjekter er utilstrækkelige til at håndtere lagring af den ønskede mængde information. Dog den mindste TEXT
type, TINYTEXT
, deler den samme tegnlængde som VARCHAR
. TEXT
objekter adskiller sig fra andre strenglagringstyper ved at fjerne kravet om at angive en lagerlængde, ikke strippe bytes, når de er valgt, og ikke udfylde ubrugt tegnplads for effektiv disklagring. Siden TEXT
objekter er ikke lagret i serverens hukommelse, de kræver dataoverhead for at kunne hentes. Følgende størrelser antager, at databasen bruger UTF-8-kodning.
TINYTEXT:255 tegn - 255 B
TINYTEXT
dataobjekt er det mindste af TEXT
familie og er bygget til effektivt at gemme korte informationsstrenge. Denne type kan gemme op til 255 bytes (udtrykt som 2^8 -1) eller 255 tegn og kræver en overhead på 1 byte. Dette objekt kan bruges til at gemme ting som korte resuméer, URL-links og andre kortere objekter. TINYTEXT
lyser over VARCHAR
ved lagring af data, der er under 255 tegn med en inkonsekvent længde og ikke behøver at blive brugt til sorteringskriterier.
TEKST:65.535 tegn - 64 KB
Standarden TEXT
dataobjekt er tilstrækkeligt i stand til at håndtere typisk tekstindhold i lang form. TEXT
dataobjekter topper med 64 KB (udtrykt som 2^16 -1) eller 65.535 tegn og kræver en overhead på 2 byte. Den er tilstrækkelig stor nok til at indeholde tekst til noget som en artikel, men ville ikke være tilstrækkelig til at indeholde teksten i en hel bog.
MEDIUMTEXT:16.777.215 - 16 MB
MEDIUMTEXT
dataobjekt er nyttigt til at gemme større tekststrenge som hvidbøger, bøger og kodebackup. Disse dataobjekter kan være så store som 16 MB (udtrykt som 2^24 -1) eller 16.777.215 tegn og kræver 3 bytes overheadlager.
LONGTEXT:4.294.967.295 tegn - 4 GB
LONGTEXT
dataobjekt er til brug i ekstreme tilfælde af tekststrenglagring. Det er en levedygtig mulighed, når MEDIUMTEXT
objektet ikke er stort nok. Computerprogrammer og applikationer når ofte tekstlængder i LONGTEXT
rækkevidde. Disse dataobjekter kan være så store som 4 GB (udtrykt som 2^32 -1) og gemme op til 4.294.967.295 tegn med 4 bytes overheadlager,
TEXT vs. BLOB
BLOB
s er en alternativ type datalagring, der deler matchende navngivnings- og kapacitetsmekanismer med TEXT
genstande. Dog BLOB
s er binære strenge uden tegnsætsortering, så de behandles som numeriske værdier, mens TEXT
objekter behandles som tegnstrenge. Denne differentiering er vigtig for sortering af information. BLOB
s bruges til at gemme datafiler som billeder, videoer og eksekverbare filer.
Noter om brug
- Ved brug af
TEXT
felter for udvælgelse og søgeforespørgsler vil medføre ydeevnehits, fordi serveren kalder objekterne individuelt og scanner dem under forespørgslen i stedet for at sidesøge data, der er gemt i hukommelsen. - Aktivering af streng SQL vil håndhæve de maksimale tegnlængder og afkorte alle indtastede data, der overskrider disse grænser.
TEXT
kolonner kræver en indekspræfikslængde og kan ikke haveDEFAULT
værdier, i modsætning tilCHAR
ogVARCHAR
genstande.- Estimeret størrelse efter ordantal:antag, at det gennemsnitlige engelske ord er 4,5 bogstaver langt og skal bruge 1 ekstra tegn til mellemrum. Eksempelvis vil et websted, der består af 500 ordartikler, bruge omkring 2.750 tegn i gennemsnit til artiklens tekstdata.
TINYTEXT
's kapacitet på 255 tegn er utilstrækkelig til denne brugssituation, mensTEXT
's 65535 tegnkapacitet tilbyder lagerplads til artikler, der rammer over 11.900 ord baseret på gennemsnitskriterierne.