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í
TEXTpole 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.
TEXTsloupce vyžadují délku předpony indexu a nemohou mítDEFAULThodnoty, na rozdíl odCHARaVARCHARobjekty.- 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ů.
TINYTEXTKapacita 255 znaků je pro tento případ použití nedostatečná, zatímcoTEXTKapacita 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í.