Mysql
 sql >> база данни >  >> RDS >> Mysql

Varchar или текстови типове данни за дължина на низовете до няколко хиляди символа

Има различни места, където VARCHAR и TEXT правят или не се различават. Някои неща казвам:

  • Ако максималната дължина е повече от 512 знака , отидете с TEXT .
  • Никога не използвайте TINYTEXT -- има само отрицателни стойности спрямо VARCHAR(255) .
  • Не използвайте VARCHAR(255); изберете разумен максимум вместо 255. (Това е малка оптимизация, свързана с временната таблица в сложни заявки.)
  • Използвайте CHAR само за неща, които имат наистина фиксирана дължина. В почти всички такива случаи, фиксирайте CHARACTER SET ascii (или латински 1). (В противен случай ще заеме повече място, отколкото очаквате.
  • Използвайте CHARACTER SET ut8mb4 . (Изключенията стават все по-редки.)

(Съжалявам, отклоних се. Обратно към темата...)

Индексирам, в оформлението на InnoDB редове (има 4 различни ROW_FORMATs ) и т.н., VARCHAR(513) ще бъде по същество неразличим от TEXT .

Един от малкото аргументи за VARCHAR е, че ограничава магазина до дадената дължина. Но колко често е важно това?



  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

  2. как да получите json данни от заявка за публикация на iphone

  3. Какви са разликите между utf8_general_ci и utf8_unicode_ci?

  4. Типове в MySQL:BigInt(20) срещу Int(20)

  5. Задайте стойност AUTO_INCREMENT програмно