sql-server-2008 – 长列如何影响性能和磁盘使用?
在我们当前的项目中,它只是经常发生,我们需要将列扩展几个字符.从varchar(20)到varchar(30)等.
实际上,它真的重要多少?这种优化有多好?只允许100或200甚至500个字符对正常的“输入”字段有什么影响?一封电子邮件只能有320个字符,所以没问题 – 那里有一个很好的限制.但是,如果我将其设置为200,我将获得什么,因为我不期望更长的电子邮件地址. 通常我们的表不会有超过100.000行,最多20或30个这样的列. 我们现在使用SQL Server 2008,但知道不同的DB如何处理这个问题会很有趣. 如果影响非常低 – 正如我所料,这将有助于得到一些好的论据(备份链接?)来说服我的DBA,这种长场妄想症并不是真的有必要. 如果是的话,我在这里学习:-) 解决方法您的问题(至少 for Oracle和可能是其他数据库)的具体答案是字段的长度无关紧要,只有数据的长度.但是,这不应该用作决定是否将字段设置为其最大允许长度的决定因素.在最大化字段大小之前,您应该考虑以下一些其他问题.格式化 create table f1 (a varchar2(4000),b varchar2(4000)); create table f2 (a varchar2(5),b varchar2(5)); insert into f1 values ('a','b'); insert into f2 values ('a','b'); select * from f1; select * from f2; 不好的数据 create index i1 on f1(a); 记忆 文档 尽管如此,为变革做好准备似乎是明智的.仅仅因为今天所有的产品名称都适合20个字符并不意味着它们总是会.不要过火,使其成为1000,但要为合理的扩展留出空间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |