TL;DR:我正在构建一个数据集,以便在iOS和安卓之间共享。我应该调整整数大小以匹配它们的实际范围,还是只让所有整数在Swift中使用Int,在Java和Swift中使用long?
在典型的SQL数据库中,存储大量的4字节整数将比1字节integer1多占用4倍的空间。但是,我在这个答案中读到整数是存储位的,在领域Java帮助中,字节、短、int和long的整数类型都映射到域中的相同类型(实际上是长)。因此,无论我使用哪种整数子类型,在行之间读取时,磁盘上的存储似乎都是相同的。
因此,从纯领域/数据库的角度来看,我应该分别在Swift和Java中使用Int和long吗?(即撇开语言差异,如铸造、内存大小等)
如果对整数字段进行了索引,这对所选类型有什么影响吗?
PS:非常感谢领域团队的伟大的文档和良好的支持在这里!
1是的,我知道事情比这更复杂。
发布于 2016-03-11 18:09:02
您的解释是正确的:相同的底层存储类型用于领域中的所有整数类型,并且该存储类型根据存储值的范围调整它在每个值中使用的位数。例如,如果您只在0-15范围内存储值,那么每个值使用的位数将比在0-65,535范围内存储的值少。类似地,整数属性上的所有索引都使用公共存储类型。
https://stackoverflow.com/questions/35946441
复制相似问题