37

我见过多种尺寸,我不想在 MySQL 字段上浪费服务器内存,因为 MySQL 字段为太多字符保留了太多空间。他们能得到最大的东西是什么,这会改变吗?

4

4 回答 4

65

这就是整数溢出、整数->字符串迁移等通过使数据类型过于严格而发生的方式。为 128b varchar 花费几个字节,省去你在路上的麻烦。如果您的用户群变得如此庞大以至于您需要担心通过处理 UID 的数据类型会节省多少字节,请认为自己取得了巨大的成功,这是您乐于解决的问题。

简短的回答,我认为没有人能够回答您的问题,“永远”是很长一段时间,谁知道到那时 Facebook 会奴役多少实体。

我将引用一位说得最好的人的话来结束;

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
—Donald E. Knuth
于 2011-09-27T09:17:32.523 回答
3

你怎么能确定这永远不会改变?最好让它成为一个varchar。

于 2011-09-27T09:12:39.723 回答
2

目前,Facebook UID 是 64 位整数。但我不能保证这一天不会改变。

于 2015-08-20T07:56:54.453 回答
-10

Facebook UID 永远不会改变,因为它是他们数据库中的唯一标识符。如果它改变了,那么 facebook 将停止工作

于 2013-05-07T23:38:52.600 回答