为nvarchar或varchar什么是2个或圆形的全数字更好地利用乘法?(Nvarchar or

2019-07-04 16:39发布

我的问题是什么是更好的在SQL生成列使用。 应为nvarchar(VARCHAR)的大小是乘法的2(32,64,128),或者它并不重要,我们可以使用完全的数字例如“100”,“50”?

非常感谢您与原因的答案

祝福大家

Answer 1:

没有任何区别。 使用大小appropiate为您的数据。

例如SQL Server中,如果你看看一个记录的解剖 ,你会看到你的大小转化为记录偏移量依赖于该表中的前纪录,空值等因素的影响,特别是与行压缩和页压缩拍摄考虑在内。 通过现场访问时,2与原来申报规模关系的任何相似之处,面对面的人的权力或10的幂,早已不复存在。 在查询执行栈还有各种元素更高的像加入运营商或运营商进行排序或什么的,也没有从2种尺寸(我没有“证据” linkes,但是是OK,如果你把我的话...)的权力利益。 编组的数据返回给客户端时,同样没有TDS协议。 我看不出有什么好处在客户端了。



Answer 2:

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

一个数字,值得一提的是,虽然一些255数据库系统有255最大VARCHAR类型,虽然这是越来越少了。 我想这里主要的,现在是什么的MySQL的很老的版本。 因此,有时开发商将在255设置列大小,以确保更多的便携性。



Answer 3:

我投票,这并不重要。 挑选什么使您的应用程序最有意义。 使用人类可读的值。 挑选变量和列漂亮的名字。 只有在非常极端的情况下,你会需要调整。 当你发现,你需要调整,调整。 在此之前,去与任何使从一个企业或人的角度最有意义。



Answer 4:

有在具有大小没有益处(N)VARCHAR列是2,使用的电源无论是适合你的域模型。



Answer 5:

没关系,所有表列的值由发动机strcutured配合在一起的物理页面上



文章来源: Nvarchar or varchar what is better use multiply of 2 or rounded full numbers?