在给定方案中,在MYSQL中使用VARCHAR(5000)字段是否可以?

时间:2015-01-27 03:48:19

标签: mysql asp.net varchar

我正在使用ASP.NET开发一个分类网站,而DB则是MYSQL。 我有一个标题表,用于存储广告的常见细节。 所以这是我的头表的数据库模式。

CREATE TABLE `test`.`header` (
  `header_id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `title` VARCHAR (500) NOT NULL,
  `description` VARCHAR (5000) NOT NULL,
  `is_published` TINYINT (1) NOT NULL DEFAULT TRUE,

  //etc..

  PRIMARY KEY (`header_id`)
) ENGINE = INNODB CHARSET = latin1 COLLATE = latin1_swedish_ci ;

所以我使用varchar(500)作为title和varchar(5000)进行描述。那么可以使用varchar 5000吗?我问这个的原因是有些人说长的varchar字段被转换为MYSQL中的Text字段(我不知道这个)。多久多久了?也有人说行大小有限制。那么varchar(5000)字段会导致任何性能问题吗?

是的我可以使用文本字段,但请记住我想要描述的限制。否则用户将复制粘贴小说到描述字段。 :)

你的建议是什么?另一种数据类型或任何......

非常感谢。

1 个答案:

答案 0 :(得分:0)

假设5000个字符是你的限制,那么VARCHAR(5000)是完全合理的。

如果您对VARCHAR和TEXT之间的差异感到好奇,请看一下这个问题:MySQL: Large VARCHAR vs. TEXT?