TEXT
dataobjekt, som deras namne antyder, är användbara för att lagra långa textsträngar i en MySQL-databas. De fyra TEXT
dataobjekttyper är byggda för att lagra och visa avsevärda mängder information i motsats till andra dataobjekttyper som är användbara med uppgifter som att sortera och söka efter kolumner eller hantera mindre konfigurationsbaserade alternativ för ett större projekt. De olika TEXT
objekt erbjuder ett lagringsutrymme från 1 byte till 4 GB och är inte designade för att lagra beräkningsvärden. Det är vanligt att dessa används för att lagra produktbeskrivningar för en försäljningswebbplats, fastighetssammanfattningar för fastighetsdatabas och långformad artikeltext på en nyhetswebbplats. TEXT
objekt används bäst när VARCHAR
och andra strängbaserade dataobjekt är otillräckliga för att hantera lagring av den önskade mängden information. Men den minsta TEXT
typ, TINYTEXT
, delar samma teckenlängd som VARCHAR
. TEXT
objekt skiljer sig från andra stränglagringstyper genom att ta bort kravet på att ange en lagringslängd, inte ta bort bytes när de väljs, och inte fylla ut oanvänt teckenutrymme för effektiv disklagring. Sedan TEXT
objekt lagras inte i serverns minne, de kräver dataoverhead för hämtning. Följande storlekar antar att databasen använder UTF-8-kodning.
TINYTEXT:255 tecken - 255 B
TINYTEXT
dataobjektet är det minsta av TEXT
familj och är byggd för att effektivt lagra korta informationssträngar. Denna typ kan lagra upp till 255 byte (uttryckt som 2^8 -1) eller 255 tecken och kräver 1 byte overhead. Det här objektet kan användas för att lagra saker som korta sammanfattningar, URL-länkar och andra kortare objekt. TINYTEXT
lyser över VARCHAR
när du lagrar data som är mindre än 255 tecken med en inkonsekvent längd och som inte behöver användas för sorteringskriterier.
TEXT:65 535 tecken - 64 KB
Standarden TEXT
dataobjektet är tillräckligt kapabelt att hantera typiskt långformat textinnehåll. TEXT
dataobjekt toppar ut vid 64 KB (uttryckt som 2^16 -1) eller 65 535 tecken och kräver en 2 byte overhead. Det är tillräckligt stort för att innehålla text för något som en artikel, men skulle inte vara tillräckligt för att innehålla texten i en hel bok.
MEDIUMTEXT:16 777 215 - 16 MB
MEDIUMTEXT
dataobjekt är användbart för att lagra större textsträngar som vitböcker, böcker och säkerhetskopiering av kod. Dessa dataobjekt kan vara så stora som 16 MB (uttryckt som 2^24 -1) eller 16 777 215 tecken och kräver 3 byte lagringsutrymme.
LONGTEXT:4 294 967 295 tecken - 4 GB
LONGTEXT
dataobjekt är för användning i extrema fall av textstränglagring. Det är ett genomförbart alternativ när MEDIUMTEXT
objektet är inte tillräckligt stort. Datorprogram och applikationer når ofta textlängder i LONGTEXT
räckvidd. Dessa dataobjekt kan vara så stora som 4 GB (uttryckt som 2^32 -1) och lagra upp till 4 294 967 295 tecken med 4 byte lagringsutrymme,
TEXT vs. BLOB
BLOB
s är en alternativ typ av datalagring som delar matchande namn- och kapacitetsmekanismer med TEXT
föremål. Men BLOB
s är binära strängar utan teckenuppsättningssortering, så de behandlas som numeriska värden medan TEXT
objekt behandlas som teckensträngar. Denna differentiering är viktig för att sortera information. BLOB
s används för att lagra datafiler som bilder, videor och körbara filer.
Anmärkningar för användning
- Med
TEXT
fält för urval och sökfrågor kommer att få prestandaträffar eftersom servern kommer att anropa objekten individuellt och skanna dem under sökningen istället för att växla data som lagras i minnet. - Att aktivera strikt SQL kommer att upprätthålla den maximala teckenlängden och trunkera all inmatad data som överskrider dessa gränser.
TEXT
kolumner kräver en indexprefixlängd och kan inte haDEFAULT
värden, till skillnad frånCHAR
ochVARCHAR
objekt.- Uppskatta storlek efter ordantal:anta att det genomsnittliga engelska ordet är 4,5 bokstäver långt och behöver 1 extra tecken för mellanrum. Exempelvis skulle en webbplats som består av artiklar på 500 ord använda cirka 2 750 tecken i genomsnitt för artikeltextdata.
TINYTEXT
Kapaciteten på 255 tecken är otillräcklig för detta användningsfall, medanTEXT
65535 teckenkapacitet erbjuder lagring för artiklar som träffar över 11 900 ord baserat på genomsnittliga kriterier.