我有问题,数据库插入缓慢和延迟的方式。
情况如何,我有一张表mobiledata
,其中有一个高插入。它有一个主键作为id(bigserial)。 id nextval来自序列mobiledata_seq。
当我在表中看到插入时,插入行时会丢失序列。也会在一段时间后插入行插入10秒
这种情况在极少数情况下发生,有时它就像魅力一样。
示例:
Select id from missingdata order by id desc limit 100;
output 611815 611813 611810 611809 611807 611805 611804 611802 611801 611800 611799 611798 611797 611796 611795
答案 0 :(得分:0)
如果您的插入率非常高,服务器可能很难将您的数据刷新到磁盘。另一种可能性是,如果您在此表上创建了太多索引,则服务器必须在插入期间更新所有索引,这可能会变得非常昂贵。
解决方法可能是:
至于缺失ID - 如果某些插入事务由于任何原因而回滚,包括客户端突然关闭连接,则会发生这种情况。
这是否正常很难说 - 取决于您的工作流程。但是你不应该试图回收缺少的id - 在事务数据库中它根本不值得。