MySQL中的VARCHAR(255)和TINYTEXT字符串类型有什么区别?

pla*_*etp 36 mysql types

MySQL中的 VARCHAR(255)和TINYTEXT字符串类型有什么区别?

它们中的每一个都允许存储最大长度为255个字符的字符串.存储要求也相同.我什么时候应该更喜欢一个?

Qua*_*noi 36

您无法DEFAULT为a 分配值,TINYTEXT也无法在后者上创建未加前缀的索引.

在内部,在内存中分配额外的对象来处理TEXT(包括TINYTEXT)列,这些列可能导致大型记录集上的内存碎片.

请注意,这仅涉及列在记录集中的内部表示,而不是它们如何存储在磁盘上.

  • 哪一个更便宜(时间和CPU周期)搜索? (8认同)

Don*_*nia 6

使用VARCHAR您可以将列设置为NULLNOT NULL,您可以设置DEFAULT值,但不能设置TEXT.VARCHAR如果您需要一个或两个功能,请使用,NULLDEFAULT.

  • TINYTEXT列也可以为NULL. (3认同)