Nvarchar或varchar什么是最好使用乘以2或舍入全数?

szk*_*kra 11 sql size varchar nvarchar

我的问题是在SQL中生成列时最好用什么.如果nvarchar(varchar)的大小是2(32,64,128)的乘数,或者它无关紧要,我们可以使用完全数字示例'100','50'?

非常感谢您提供理由的答案

祝福大家

Rem*_*anu 14

没有任何区别.使用适合您的数据的大小.

例如SQL Server,如果您查看记录剖析,您将看到您的大小转换为依赖于表中先前记录的记录偏移,空值和其他因素,特别是行压缩和页面压缩考虑到了.在访问该字段时,与原始声明大小关系,相对于2的幂或10的幂的任何相似性早已消失.查询执行堆栈上的各种元素如连接运算符或排序运算符等等,也不会受益于2个大小的权限(我没有'证明'链接,但是如果你接受我的话就可以了......) .在将数据封送回客户端时,TDS协议也没有.而且我看到客户端也没什么好处.


Joe*_*orn 8

没有理由使用2的倍数.设置字段以匹配估计的数据大小.

值得一提的一个数字是255.一些数据库系统的最大varchar类型为255,尽管这种情况越来越少.我主要考虑的是现在非常旧版本的MySql.因此,有时开发人员会将列大小设置为255以确保更多的可移植性.