我有两列包含文本的列,一列最多150个字符,另一列最多700个字符。
我的问题是,我应该对这两种varchar类型都使用,还是应该对700个字符的长列使用text?为什么?
谢谢,
发布于 2009-11-01 07:17:07
MySQL < 5.0.3中的varchar数据类型不能包含超过255个字符的数据。而在MySQL >= 5.0.3中,它最多包含65,535个字符。
因此,这取决于您的目标平台,以及您的部署要求。如果要确保其适用于低于5.0.3的MySQL版本,请为longer列使用text类型数据字段
发布于 2009-11-02 05:41:38
一个重要的注意事项是,对于varchar,数据库将数据直接存储在表中,而对于文本,数据库将指针存储到存储数据的单独的表空间中。因此,除非遇到行长度的限制(在MySQL中为64K,在DB2中为4-32K,在SQL Server2000中为8K ),否则我通常会使用varchar。
发布于 2009-11-01 07:17:51
我不太确定mysql,但在MS SQL中,如果您想对字段中的值运行任何类型的比较,您肯定应该对长度低于8000个字符的任何内容使用VARCHAR。例如,可以使用VARCHAR:
select your_column from your_table
where your_column like '%dogs%'但不是使用文本字段。
有关MySQL5.4中文本域的更多信息可以在here中找到,有关VARCHAR域的更多信息可以在VARCHAR域中找到。
https://stackoverflow.com/questions/1655882
复制相似问题