我正在使用Rails制作一个新的web应用程序,想知道字符串和文本之间的区别是什么?什么时候分别使用?


当前回答

较短的字段使用字符串,如姓名,地址,电话,公司

对于较大的内容、评论、内容、段落使用Text。

我的一般规则是,如果是超过一行的内容,我通常会选择文本,如果是2-6个简短的单词,我就会选择字符串。

对于字符串,官方规则是255。因此,如果字符串超过255个字符,请使用text。

其他回答

较短的字段使用字符串,如姓名,地址,电话,公司

对于较大的内容、评论、内容、段落使用Text。

我的一般规则是,如果是超过一行的内容,我通常会选择文本,如果是2-6个简短的单词,我就会选择字符串。

对于字符串,官方规则是255。因此,如果字符串超过255个字符,请使用text。

如上所述,不只是db数据类型,它也会影响将生成的视图,如果你是脚手架。 String将生成一个text_field text将生成一个text_area

如果大小固定且较小,则为字符串;如果大小可变且较大,则为文本。 这很重要,因为文本比字符串大得多。它包含更多的千字节。

所以对于小字段总是使用string(varchar)。字段。First_name,登录名,电子邮件,(文章或帖子的)主题 文本的例子:一篇文章或文章的内容或主体。段落等字段

字符串大小从1到255(默认值为255)

文本大小1到4294967296(默认值为65536

如果你使用postgres,尽可能使用文本,除非你有大小限制,因为文本vs varchar没有性能损失

There is no performance difference among these three types, apart from increased storage space when using the blank-padded type, and a few extra CPU cycles to check the length when storing into a length-constrained column. While character(n) has performance advantages in some other database systems, there is no such advantage in PostgreSQL; in fact character(n) is usually the slowest of the three because of its additional storage costs. In most situations text or character varying should be used instead

PostsgreSQL手册》

如果属性在form中匹配f.text_field,则使用string,如果匹配f.text_area,则使用text。