Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zrozumienie rozmiarów pamięci masowej dla typów danych MySQL TEXT

TEXT obiekty danych, jak sugeruje ich imiennik, są przydatne do przechowywania długich ciągów tekstowych w bazie danych MySQL. Cztery TEXT Typy obiektów danych są przeznaczone do przechowywania i wyświetlania znacznych ilości informacji, w przeciwieństwie do innych typów obiektów danych, które są przydatne przy zadaniach takich jak sortowanie i przeszukiwanie kolumn lub obsługa mniejszych opcji opartych na konfiguracji w przypadku większego projektu. Różne TEXT obiekty oferują zakres przestrzeni dyskowej od 1 bajta do 4 GB i nie są przeznaczone do przechowywania wartości obliczeniowych. Często używa się ich do przechowywania opisów produktów w witrynie sprzedaży, podsumowań nieruchomości w bazie danych nieruchomości i długich tekstów artykułów w witrynie z wiadomościami. TEXT obiektów najlepiej używać, gdy VARCHAR a inne obiekty danych oparte na ciągach są niewystarczające do obsługi przechowywania żądanej ilości informacji. Jednak najmniejszy TEXT wpisz, TINYTEXT , ma taką samą długość znaków jak VARCHAR . TEXT obiekty odróżniają się od innych typów przechowywania ciągów, usuwając wymóg określania długości pamięci, nie usuwając bajtów po wybraniu i nie wypełniając nieużywanego miejsca na znaki w celu wydajnego przechowywania na dysku. Od TEXT obiekty nie są przechowywane w pamięci serwera, ich pobranie wymaga narzutu danych. Poniższe rozmiary zakładają, że baza danych używa kodowania UTF-8.

TINYTEXT:255 znaków - 255 B

TINYTEXT obiekt danych jest najmniejszym z TEXT rodziny i jest zbudowany do wydajnego przechowywania krótkich ciągów informacji. Ten typ może przechowywać do 255 bajtów (wyrażonych jako 2^8 -1) lub 255 znaków i wymaga narzutu 1 bajta. Ten obiekt może być używany do przechowywania takich rzeczy, jak krótkie podsumowania, linki URL i inne krótsze obiekty. TINYTEXT świeci nad VARCHAR podczas przechowywania danych, które mają mniej niż 255 znaków i mają niespójną długość i nie trzeba ich używać do kryteriów sortowania.

TEKST:65 535 znaków - 64 KB

Standardowy TEXT obiekt danych jest wystarczająco zdolny do obsługi typowej treści tekstowej w długim formacie. TEXT obiekty danych mają górę 64 KB (wyrażoną jako 2^16 -1) lub 65 535 znaków i wymagają 2 bajtów narzutu. Jest wystarczająco duży, aby pomieścić tekst czegoś takiego jak artykuł, ale nie wystarczyłby do przechowywania tekstu całej książki.

ŚREDNI TEKST:16 777 215 - 16 MB

MEDIUMTEXT obiekt danych jest przydatny do przechowywania większych ciągów tekstowych, takich jak oficjalne dokumenty, książki i tworzenie kopii zapasowych kodu. Te obiekty danych mogą mieć wielkość do 16 MB (wyrażone jako 2^24 -1) lub 16 777 215 znaków i wymagają 3 bajtów dodatkowej pamięci masowej.

LONGTEXT:4 294 967 295 znaków - 4 GB

LONGTEXT obiekt danych jest przeznaczony do użytku w ekstremalnych przypadkach przechowywania ciągów tekstowych. Jest to realna opcja, gdy MEDIUMTEXT obiekt nie jest wystarczająco duży. Programy komputerowe i aplikacje często osiągają długość tekstu w LONGTEXT zakres. Te obiekty danych mogą mieć nawet 4 GB (wyrażone jako 2^32 -1) i przechowywać do 4 294 967 295 znaków z 4 bajtami dodatkowej pamięci masowej,

TEKST a BLOB

BLOB s to alternatywny typ przechowywania danych, który współdzieli mechanizmy dopasowania nazw i pojemności z TEXT przedmioty. Jednak BLOB s to ciągi binarne bez sortowania zestawu znaków, więc są traktowane jako wartości liczbowe, podczas gdy TEXT obiekty są traktowane jako ciągi znaków. To rozróżnienie jest ważne przy sortowaniu informacji. BLOB s służą do przechowywania plików danych, takich jak obrazy, filmy i pliki wykonywalne.

Uwagi dotyczące użytkowania

  • Korzystanie z TEXT pola dla zapytań wyboru i wyszukiwania spowodują utratę wydajności, ponieważ serwer będzie wywoływał obiekty indywidualnie i skanował je podczas zapytania zamiast stronicowania danych przechowywanych w pamięci.
  • Włączenie ścisłego SQL wymusi maksymalne długości znaków i skróci wszelkie wprowadzone dane, które przekraczają te limity.
  • TEXT kolumny wymagają długości prefiksu indeksu i nie mogą mieć wartości DEFAULT wartości, w przeciwieństwie do CHAR i VARCHAR obiekty.
  • Szacowanie rozmiaru według liczby słów:załóż, że przeciętne angielskie słowo ma długość 4,5 litery i wymaga 1 dodatkowego znaku na spację. Na przykład witryna składająca się z artykułów składających się z 500 słów wykorzystałaby średnio około 2750 znaków na dane tekstowe artykułu. TINYTEXT pojemność 255 znaków jest niewystarczająca dla tego przypadku użycia, podczas gdy TEXT Pojemność 65535 znaków zapewnia przechowywanie artykułów, które trafiają na ponad 11 900 słów w oparciu o średnie kryteria.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie MySQL uwzględniające wielkość liter

  2. MySQL UPDATE i SELECT w jednym przejściu

  3. Jak utworzyć tabelę w SQL – przykładowe zapytanie Postgres i MySQL

  4. mySQL konwertuje varchar na datę

  5. Tworzenie i używanie procedur składowanych MySQL — samouczek