【 在 misslost 的大作中提到: 】
: 关于数学运算。我感觉主键主要是比较关系运算,不需要对主键进行数学运算。所以好像没什么影响?
: 因为主键的值是很规范的很普通的浮点值,也不会有NaN等问题?
: 占用空间确实是8字节。其实本来是希望用int64 但是因为某种奇怪的外部原因 不能选择这个类型。(其实这个奇怪原因也可以解释一下,是无关话题。因为用到protobuf定义数据结构和json规范。而protobuf认为json的局限性导致没有int64的完善支持,所以会把int64转换为字符串存储。这在很多地方就难受了,存储和比较,排序都会有问题。所以考虑用double规避这个问题。)
: ...................
如果数据库为啥不用int64, BIGINT, 至于数据传输,序列化这根本不是问题, 无非就是序列化过程做一下处理, 序列化本来也就是做这个工作的, 这是本分。
至于protobuf或者json支持不支持64, 这根本不是问题, 无论用字符串传输, 或者干脆弄成两个int传输都很容易。
所以, 我觉得, 底层逻辑使用int64就是正途, 换成double反倒是因噎废食,反倒让逻辑代码不伦不类。
--
FROM 115.171.245.*