varchar(128)是否优于varchar(100)

Ran*_*ash 11 sql database-design

快问.如果我将使用十进制字段限制或十六进制(例如16,32,64而不是10,20,50),从存储数据的角度来看是否重要?

我问,因为我想知道这是否与HDD上的集群有关?

谢谢!

Jon*_*ler 10

如果需要存储长度超过100个字节的字符串,则VARCHAR(128)优于VARCHAR(100).

否则,它们之间几乎没有选择; 您应该选择最适合您可能需要存储的数据的最大长度的那个.您将无法衡量它们之间的性能差异.除此之外,DBMS可能只存储您发送的数据,因此如果您的平均字符串是16字节,那么它只会使用16(或者更可能是17 - 允许1个字节来存储长度)字节在磁盘上.较大的大小可能会影响页面上可以容纳多少行的计算 - 这是有害的.因此,选择足够的最小尺寸是有道理的 - 不要浪费,不要浪费.

因此,总而言之,两者在性能或磁盘使用方面几乎没有什么区别,并且与方便的二进制边界对齐并没有真正有所作为.