据我所知,PostgreSQL的插入使用ROW EXCLUSIVE锁,这是否意味着刀片可以并行,而一个刀片将不锁定整个表?
表中的问题有DB和没有额外的指标之外生成主键(但我很好奇,如果这是没有的情况下会发生什么)。
编辑1:
每文档,行已被CREATE INDEX获取与分享独家冲突。
这是否意味着如果表有索引,插入将锁定整个表?
或将创建索引第一次当表仅锁定?
另外,我现在明白了,主键也是一个指标,对不对?
据我所知,PostgreSQL的插入使用ROW EXCLUSIVE锁,这是否意味着刀片可以并行,而一个刀片将不锁定整个表?
表中的问题有DB和没有额外的指标之外生成主键(但我很好奇,如果这是没有的情况下会发生什么)。
编辑1:
每文档,行已被CREATE INDEX获取与分享独家冲突。
这是否意味着如果表有索引,插入将锁定整个表?
或将创建索引第一次当表仅锁定?
另外,我现在明白了,主键也是一个指标,对不对?
并发插入不应彼此阻塞,除非它们被插入冲突的键为唯一的索引,在此情况下,第二插入件将等待包含第一个被提交或回滚事务,然后或者中止或继续进行。 主键被实现为一个唯一索引。
非唯一索引应该不会造成额外的锁冲突。 创建索引将阻止插入和更新表中,虽然可以只添加concurrently
给命令,以避免这一点,对于一些速度上的惩罚。