每当建立一个新的SQL表或向现有表添加一个新的varchar
列时,我想知道一件事:length
的最佳值是多少。
所以,假设你有一个名为name
的列,类型为varchar
。所以,你必须选择长度。我想不出一个20个字符的名字,但你永远不会知道。但不是用20,我总是四舍五入到下一个2^n。在这种情况下,我将选择32作为长度。我这样做是因为从计算机科学家的角度来看,数字2^n在我看来比其他数字更even
,我只是假设下面的架构可以比其他数字更好地处理这些数字。
另一方面,以MSSQL服务器为例,当您选择创建varchar列时,将默认长度值设置为50。这让我开始思考。为什么50 ?它只是一个随机数,还是基于平均列长,还是什么?
也可能是——或者可能是——不同的SQL服务器实现(如MySQL, MSSQL, Postgres,…)有不同的最佳列长度值。