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