Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database postgresql序列中的漏洞/间隙是否对性能有害?_Database_Postgresql_Sequence - Fatal编程技术网

Database postgresql序列中的漏洞/间隙是否对性能有害?

Database postgresql序列中的漏洞/间隙是否对性能有害?,database,postgresql,sequence,Database,Postgresql,Sequence,我实现了一个系统,它导致Postgresql生成的序列值中存在很多漏洞。我只是想问一下,这是否会导致性能下降 如果可能的话,请附上我可以进一步阅读的参考资料。谢谢。别担心。不会对性能产生任何影响 主要原因是数字(integer,bigint)是以固定的存储量存储的。因此,在存储或运行时开销方面,ID是否保存值42或38643874638没有区别 此外:无法避免序列中的孔。因为主键只是“一些值”,它们也不重要 整数的存储要求:正如a_h_w_n_n_n_n所说,间隙没有问题,但在某个时候,您会用完

我实现了一个系统,它导致Postgresql生成的序列值中存在很多漏洞。我只是想问一下,这是否会导致性能下降


如果可能的话,请附上我可以进一步阅读的参考资料。谢谢。

别担心。不会对性能产生任何影响

主要原因是数字(integer,bigint)是以固定的存储量存储的。因此,在存储或运行时开销方面,ID是否保存值42或38643874638没有区别

此外:无法避免序列中的孔。因为主键只是“一些值”,它们也不重要


整数的存储要求:

正如a_h_w_n_n_n_n所说,间隙没有问题,但在某个时候,您会用完数字,并且没有魔法可以避免重复以前使用的数字。也许可以做一些快速计算来检查int4是否足够大(序列可以很好地支持int8)。唯一真正的问题是,如果你很快就用完了序列,并且它是一个常规的4字节int,那么你可以很快用完值。出于这个原因,当您不确定bigint/bigserial的使用速度时,最好使用bigint/bigserial。