0

与我的一位朋友谈论 DB 结构时,他说对于电话号码,他用来创建整数属性并将它们直接转换为将从 DB 中提取数据的代码(他在前面添加零号)。除了可能有问题的方法之外,我建议他使用 varchar 字段。

他说使用 varchar 效率较低,因为:

  • 信息存储需要更多内存(这是真的)
  • 订购字段需要更多“时间”

我很困惑,因为我猜 rdbms 进行了所有优化,O(n log(n))无论数据类型如何,都会以 a 或类似的方式进行这种排序。不幸的是,在互联网上挖掘信息毫无用处。

有人可以帮助我理解我在这里说的话是否有意义吗?

谢谢你。

4

1 回答 1

0

RDBMS 使用索引来优化排序(排序)。在存储中存储为 B 树的索引,并且随着索引字段的大小而更大。因此磁盘 IO 操作会因为数据量大而增加。另一方面,O(n log(n))不同类型的数据是不同的。比较字符串和数字(​​整数)的语义不同,字符串的比较比整数更复杂。

于 2013-10-15T07:48:51.740 回答