Database postgresql序列中的漏洞/间隙是否对性能有害?
我实现了一个系统,它导致Postgresql生成的序列值中存在很多漏洞。我只是想问一下,这是否会导致性能下降Database postgresql序列中的漏洞/间隙是否对性能有害?,database,postgresql,sequence,Database,Postgresql,Sequence,我实现了一个系统,它导致Postgresql生成的序列值中存在很多漏洞。我只是想问一下,这是否会导致性能下降 如果可能的话,请附上我可以进一步阅读的参考资料。谢谢。别担心。不会对性能产生任何影响 主要原因是数字(integer,bigint)是以固定的存储量存储的。因此,在存储或运行时开销方面,ID是否保存值42或38643874638没有区别 此外:无法避免序列中的孔。因为主键只是“一些值”,它们也不重要 整数的存储要求:正如a_h_w_n_n_n_n所说,间隙没有问题,但在某个时候,您会用完
如果可能的话,请附上我可以进一步阅读的参考资料。谢谢。别担心。不会对性能产生任何影响 主要原因是数字(integer,bigint)是以固定的存储量存储的。因此,在存储或运行时开销方面,ID是否保存值42或38643874638没有区别 此外:无法避免序列中的孔。因为主键只是“一些值”,它们也不重要
整数的存储要求:
正如a_h_w_n_n_n_n所说,间隙没有问题,但在某个时候,您会用完数字,并且没有魔法可以避免重复以前使用的数字。也许可以做一些快速计算来检查int4是否足够大(序列可以很好地支持int8)。唯一真正的问题是,如果你很快就用完了序列,并且它是一个常规的4字节int,那么你可以很快用完值。出于这个原因,当您不确定bigint/bigserial的使用速度时,最好使用bigint/bigserial。