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个字节来存储长度)字节在磁盘上.较大的大小可能会影响页面上可以容纳多少行的计算 - 这是有害的.因此,选择足够的最小尺寸是有道理的 - 不要浪费,不要浪费.
因此,总而言之,两者在性能或磁盘使用方面几乎没有什么区别,并且与方便的二进制边界对齐并没有真正有所作为.