TEXT
datové objekty, jak naznačuje jejich jmenovec, jsou užitečné pro ukládání dlouhých textových řetězců v databázi MySQL. Čtyři TEXT
typy datových objektů jsou navrženy pro ukládání a zobrazování značného množství informací na rozdíl od jiných typů datových objektů, které jsou užitečné při úlohách, jako je řazení a vyhledávání sloupců nebo zpracování menších možností založených na konfiguraci pro větší projekt. Různé TEXT
objekty nabízejí rozsah úložného prostoru od 1 bajtu do 4 GB a nejsou určeny pro ukládání výpočetních hodnot. Je běžné, že se používají k ukládání popisů produktů pro prodejní stránky, souhrnů nemovitostí pro databázi nemovitostí a dlouhého textu článku na zpravodajském webu. TEXT
objekty se nejlépe používají, když VARCHAR
a další datové objekty založené na řetězcích jsou nedostatečné pro uložení požadovaného množství informací. Nejmenší TEXT
zadejte TINYTEXT
, sdílí stejnou délku znaků jako VARCHAR
. TEXT
objekty se odlišují od jiných typů úložiště řetězců odstraněním požadavku na specifikaci délky úložiště, neodstraněním bajtů při výběru a nevyplňováním nevyužitého znakového prostoru pro efektivní diskové úložiště. Od TEXT
objekty nejsou uloženy v paměti serveru, vyžadují režii dat pro načtení. Následující velikosti předpokládají, že databáze používá kódování UTF-8.
TINYTEXT:255 znaků – 255 B
TINYTEXT
datový objekt je nejmenší z TEXT
rodiny a je vytvořen tak, aby efektivně ukládal krátké informační řetězce. Tento typ může uložit až 255 bajtů (vyjádřeno jako 2^8 -1) nebo 255 znaků a vyžaduje režii 1 bajt. Tento objekt lze použít k ukládání věcí, jako jsou krátké souhrny, odkazy URL a další kratší objekty. TINYTEXT
svítí nad VARCHAR
při ukládání dat kratších než 255 znaků s nekonzistentní délkou a není třeba je používat pro kritéria řazení.
TEXT:65 535 znaků – 64 kB
Standardní TEXT
datový objekt je dostatečně schopný zpracovat typický obsah dlouhého textu. TEXT
datové objekty mají maximální velikost 64 kB (vyjádřeno jako 2^16 -1) nebo 65 535 znaků a vyžadují režii 2 bajty. Je dostatečně velký, aby se do něj vešel text pro něco jako článek, ale nestačil by na text celé knihy.
MEDIUMTEXT:16 777 215 - 16 MB
MEDIUMTEXT
datový objekt je užitečný pro ukládání větších textových řetězců, jako jsou bílé knihy, knihy a záloha kódu. Tyto datové objekty mohou mít velikost až 16 MB (vyjádřeno jako 2^24 -1) nebo 16 777 215 znaků a vyžadují 3 bajty režijního úložiště.
LONGTEXT:4 294 967 295 znaků – 4 GB
LONGTEXT
datový objekt je určen pro použití v extrémních případech použití ukládání textových řetězců. Je to životaschopná možnost, když MEDIUMTEXT
objekt není dostatečně velký. Počítačové programy a aplikace často dosahují délky textu v LONGTEXT
rozsah. Tyto datové objekty mohou mít velikost až 4 GB (vyjádřeno jako 2^32 -1) a uložit až 4 294 967 295 znaků se 4 bajty režijního úložiště,
TEXT vs. BLOB
BLOB
s jsou alternativním typem úložiště dat, které sdílí odpovídající mechanismy pojmenování a kapacity s TEXT
objektů. Nicméně BLOB
s jsou binární řetězce bez řazení znakových sad, takže se s nimi zachází jako s číselnými hodnotami, zatímco TEXT
objekty jsou považovány za znakové řetězce. Toto rozlišení je důležité pro třídění informací. BLOB
s se používají k ukládání datových souborů, jako jsou obrázky, videa a spustitelné soubory.
Poznámky k použití
- Pomocí
TEXT
pole pro výběrové a vyhledávací dotazy budou mít dopad na výkon, protože server bude volat objekty jednotlivě a skenovat je během dotazu namísto stránkování dat uložených v paměti. - Povolení přísného SQL vynutí maximální délky znaků a zkrátí všechna zadaná data, která překračují tyto limity.
TEXT
sloupce vyžadují délku předpony indexu a nemohou mítDEFAULT
hodnoty, na rozdíl odCHAR
aVARCHAR
objekty.- Odhad velikosti podle počtu slov:předpokládejme, že průměrné anglické slovo je dlouhé 4,5 písmena a potřebuje 1 znak navíc pro mezery. Například web, který se skládá z 500 slovních článků, by pro textová data článku použil v průměru asi 2 750 znaků.
TINYTEXT
Kapacita 255 znaků je pro tento případ použití nedostatečná, zatímcoTEXT
Kapacita 65 535 znaků nabízí úložiště pro články, které zasáhly více než 11 900 slov na základě průměrných kritérií.