关于MySQL中类型的问题
所以我创建了一个评论表,我想知道。什么样的评论类型比较好?我写了一篇长文。那么,如果longtext可以处理,为什么人们需要varchar呢?另外,我想要哪种类型的用户名 索引的“主要”目的是什么?索引的目的是什么 更新: 假设评论实际上是一个评论。这取决于系统中的“评论”是什么。通常,VARCHAR对于注释和用户名来说都是相当标准的。这将您限制在大约255个字符,这通常是可以接受的。如果你的评论中需要更多的字符,你可以把它增加到一个文本中,这样你就有65k字符多一点了关于MySQL中类型的问题,mysql,Mysql,所以我创建了一个评论表,我想知道。什么样的评论类型比较好?我写了一篇长文。那么,如果longtext可以处理,为什么人们需要varchar呢?另外,我想要哪种类型的用户名 索引的“主要”目的是什么?索引的目的是什么 更新: 假设评论实际上是一个评论。这取决于系统中的“评论”是什么。通常,VARCHAR对于注释和用户名来说都是相当标准的。这将您限制在大约255个字符,这通常是可以接受的。如果你的评论中需要更多的字符,你可以把它增加到一个文本中,这样你就有65k字符多一点了 有关详细信息,请参阅。文
有关详细信息,请参阅。
文本非空。这提供了足够的空间,有2字节的开销,通常不会出现任何问题
关于文本
在比较中,文本是空间扩展的
精确地拟合比较对象
比如CHAR和VARCHAR
对于BLOB和文本列上的索引,
必须指定索引前缀
长度。对于CHAR和VARCHAR,前缀
长度是可选的。见第7.4.2节,
“列索引”
BLOB和TEXT列不能具有
默认值
如果将二进制属性与
文本数据类型,则指定该列
列的二进制排序规则
字符集
关于VARCHAR:
VARCHAR列中的值是
可变长度字符串。长度
可以指定为0到之间的值
MySQL 5.0.3之前为255,0到
5.0.3及更高版本中的65535。
一条直线的有效最大长度
MySQL 5.0.3及更高版本中的VARCHAR是
以最大行大小为准
(65535字节,在
所有列)和字符集
用过
更多信息请访问:文本确实可以处理您在VARCHAR或CHAR字段中输入的任何内容。事实上,文本可以处理您可能希望以十进制、整数或几乎任何其他类型输入的数据。按照这个逻辑,我们不妨将每一列都设置为文本类型
但这将是一个错误。为什么?因为为预期输入使用适当的列类型可以使数据库更好地优化查询,使用更少的磁盘空间,并使数据模型更易于理解和维护
关于问题:用户名列应该使用VARCHAR(20),因为您希望并且期望大多数用户名都会变短,通常长度不超过10-20个字符。对于评论栏(如电影评论或书评),文本类型是合适的,因为评论可以跨越一段到几页
关于索引,请尝试以下链接:
看看这个,它列出了所有MySQL字段类型,并描述了它们是什么以及它们之间的区别。我如何知道哪种类型允许哪些字符?那么,当longtext与它的函数重叠时,为什么需要varchar呢?我相信世界上有很多东西都是这样运作的,但我只是想进一步挖掘,看看我遗漏了什么特殊原因。使用长文本作为评论或用户名就像是把火箭筒带到水枪大战中一样。