sql >> Databáze >  >> RDS >> Mysql

Vysvětlení velikostí úložiště pro typy dat MySQL TEXT

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ít DEFAULT hodnoty, na rozdíl od CHAR a VARCHAR 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ímco TEXT 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í.

  1. Oracle Instant Client pro zařízení Debian založené na ARM

  2. php/mysql s více dotazy

  3. Primární klíč SQL

  4. Spustit uloženou proceduru v SQL Developer?