Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 数据库中聊天信息和评论的典型长度是多少?_Sql_Sql Server_Database - Fatal编程技术网

Sql 数据库中聊天信息和评论的典型长度是多少?

Sql 数据库中聊天信息和评论的典型长度是多少?,sql,sql-server,database,Sql,Sql Server,Database,我需要在SQL Server数据库中创建一列。该列的条目将包含来自聊天室的消息。以前,此类消息已存储为注释 我的主要问题是: 聊天信息和评论的典型文本长度是多少 顺便说一下: 如果我使用varchar(max),会发生什么?它将如何影响数据库大小和性能?在考虑文本长度时,最好使用2次方或10次方(例如128次方而不是100次方)?简短回答-没关系 发件人: 存储大小是输入的数据的实际长度+2字节 因此,如果值不超过10个字符,VARCHAR(10)和VARCHAR(10000)将消耗相同数量的数

我需要在SQL Server数据库中创建一列。该列的条目将包含来自聊天室的消息。以前,此类消息已存储为注释

我的主要问题是: 聊天信息和评论的典型文本长度是多少

顺便说一下:
如果我使用varchar(max),会发生什么?它将如何影响数据库大小和性能?在考虑文本长度时,最好使用2次方或10次方(例如128次方而不是100次方)?

简短回答-没关系

发件人:

存储大小是输入的数据的实际长度+2字节


因此,如果值不超过10个字符,VARCHAR(10)和VARCHAR(10000)将消耗相同数量的数据。

肯定使用
N/VARCHAR(MAX)
,它可以增长到2GB(如果我没记错的话)。但是,它会根据需要增长,因此在空间方面非常有效,除非您只存储非常少量的数据。

使用VARCHAR(MAX)有一个缺点:您无法在此列上定义索引

通常,应用程序应该为聊天消息设置最大长度。该限制的大小在很大程度上取决于应用程序的用途。但是,任何超过1000字节的消息都可能不是合法消息,而是试图破坏您的服务


如果你的最大值是2的幂,或者10的幂,或者任何其他值对性能都没有影响,只要行可以放在一个(8KB)页面上。

我不认为会有一个“典型”的答案,因为这取决于你的系统试图培养什么类型的“对话”。我从MSDN找到了一个提示:使用varchar(max)当列数据项的大小差异很大,并且大小可能超过8000字节时。“来自聊天室的消息”->什么聊天室?聊天程序的接口可能决定了最大长度。你应该调查这些。另外,不要同时问两个问题。公平地说,你不太可能想为聊天信息编制索引,除非你打算让用户能够通过消息文本的前“n”个字符来查找消息,这对于大多数聊天应用程序来说不是典型的情况……当然。但是它需要提到,这样人们就不会到处使用VARCHAR(MAX)。同意-我只是想澄清一下:)