Axapta 为什么所有RECID都以5637144576开头?

Axapta 为什么所有RECID都以5637144576开头?,axapta,dynamics-ax-2009,dynamics-ax-2012,Axapta,Dynamics Ax 2009,Dynamics Ax 2012,这是一个毫无意义的问题。。。但我想知道答案: 为什么Ax2012中的所有RecID(以及我认为自v2.5以来的所有RecID)都以5637144576开头?为什么不从RecId 1开始,就像在TempDB表中一样?这一定是旧版本遗留下来的东西 我记得在旧版本中,客户用完了RecId的情况,这应该通过使每个表的RecId唯一并将其更改为64位数据类型来解决。但尽管如此,它还是从一个特定的数字开始 只是好奇…这里有一个纯粹的推测性答案 5637144576恰好是0x15000000,不能存储在32位

这是一个毫无意义的问题。。。但我想知道答案:

为什么Ax2012中的所有RecID(以及我认为自v2.5以来的所有RecID)都以5637144576开头?为什么不从RecId 1开始,就像在TempDB表中一样?这一定是旧版本遗留下来的东西

我记得在旧版本中,客户用完了RecId的情况,这应该通过使每个表的RecId唯一并将其更改为64位数据类型来解决。但尽管如此,它还是从一个特定的数字开始


只是好奇…

这里有一个纯粹的推测性答案

5637144576恰好是0x15000000,不能存储在32位整数中。当
RecId
从32位增长到64位()时,这对于测试非常重要

此外,还保证任何新的
RecId
不会与AX 3.0中的旧
RecId
发生碰撞。这对于升级过程非常重要

为什么不选择0x100000000或4294967296
因为在十进制中,很难区分4294967196和其他小数字

为什么不选择5000000000十进制
因为我们


另请参见

此值(5637144576)在AX数据库的存储过程(sp_GetNextRecId)中硬编码

当它被看作一个十六进制数时,它更合理。有趣的是…我没有注意到,但我确实记住了5637144576,我不知道为什么。对我来说也是如此。。。我的一位同事提到了这件事,我就是忍不住说:)谢谢你的帖子。。。也许是推测性的,但对我来说已经足够好了!