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

Varchar lub Text Data Types dla ciągów o długości do kilku tysięcy znaków

Istnieje wiele miejsc, w których VARCHAR i TEXT różnią się lub nie. Niektóre rzeczy, które mówię:

  • Jeśli maksymalna długość przekracza 512 znaków , przejdź z TEXT .
  • Nigdy nie używaj TINYTEXT -- ma tylko negatywy względem VARCHAR(255) .
  • Nie używaj VARCHAR(255); wybierz rozsądną wartość maksymalną zamiast 255. (Jest to niewielka optymalizacja odnosząca się do tabeli tymczasowej w złożonych zapytaniach).
  • Użyj CHAR tylko dla rzeczy, które mają naprawdę stałą długość. W prawie każdym takim przypadku dodaj CHARACTER SET ascii (lub łac1). (W przeciwnym razie zajmie więcej miejsca, niż się spodziewasz.
  • Użyj CHARACTER SET ut8mb4 . (Wyjątki stają się coraz rzadsze).

(Przepraszam, mam dygresję. Wróćmy do tematu...)

I indeksowanie, w układzie wierszy InnoDB (istnieją 4 różne ROW_FORMATs ), itp, VARCHAR(513) będzie zasadniczo nie do odróżnienia od TEXT .

Jeden z niewielu argumentów dla VARCHAR jest to, że ogranicza sklep do podanej długości. Ale jak często jest to ważne?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_fetch_assoc():podany argument nie jest prawidłowym zasobem wynikowym MySQL w php

  2. PHP - Wstaw datę do mysql

  3. Po zainstalowaniu najnowszej wersji MySQL otrzymuję błąd :#1366 - Nieprawidłowa wartość całkowita:'' dla kolumny 'group_id' w wierszu 1

  4. Wybierz wszystkie miesiące w podanym zakresie dat, w tym te z wartościami 0

  5. PDO Wiele zapytań:zatwierdź i wycofaj transakcję