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

Kiedy używać TEXT w mysql zamiast VARCHAR

Długi VARCHAR jest przechowywany w taki sam sposób jak TEXT /BLOB pole w InnoDB .

źródło

Chyba że musisz indeksować te kolumny (w takim przypadku VARCHAR jest znacznie szybszy) nie ma powodu, aby używać VARCHAR ponad TEXT dla długich pól - w MySQL są pewne optymalizacje specyficzne dla silnika aby dostroić pobieranie danych do długości, i powinieneś użyć właściwego typu kolumny, aby z nich skorzystać.

Jeśli używasz MyISAM dogłębną dyskusję na ten temat można znaleźć tu .

TEXT i BLOB są przechowywane poza tabelą, przy czym tabela ma tylko wskaźnik do lokalizacji rzeczywistego miejsca przechowywania.

VARCHAR jest przechowywany w linii z tabelą. VARCHAR jest szybszy, gdy rozmiar jest rozsądny.

Według ten test , VARCHAR jest około trzy razy szybszy niż tekst.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. @Column(unique=true) nie działa

  2. Nadmierna aktywność MySQL

  3. CONCAT wiele pól do jednego pola, z pojedynczym odstępem

  4. mysql - Tworzenie wierszy a wydajność kolumn

  5. Zmienić numer początkowy automatycznego przyrostu?