小编elB*_*rde的帖子

Mongo身份验证用户无法删除数据库

我的问题是 - 是否可以在 Mongo 数据库中定义能够删除数据库的用户?最大用户权限是“dbAdmin”,但该权限不允许用户删除数据库,只能删除集合。

我知道“clusterAdmin”有权删除数据库,但不能在常规数据库中定义该角色,只能在管理数据库中...

mongodb authentication

8
推荐指数
2
解决办法
1万
查看次数

Postgres 批量更新插入性能

我正在对一个包含 3000 万行的表进行批量 UPSERT。该表只有两列(varchar 作为主键和整数)。首先将输入数据导入到临时表中,然后执行批量更新插入(使用 INSERT ... ON CONFLICT DO UPDATE 语句)。批量大小为 4000。

我的问题是 - 您能给我哪些性能建议?当表较小时(5-1000万条记录),性能就足够好了。对于 3000 万行,这还不够好,单批 4000 条记录持续 2 到 30 秒。

当然,我几乎没有并行执行此导入的服务,因此我使用咨询锁来同步它们(一次仅执行一个批量更新插入)。我是否应该删除咨询锁以并行执行更新插入?然后我将不得不处理死锁(并使用较小的批量大小来减少死锁机会?)。

我可以采取哪些措施来提高批量更新插入的性能?

这是我的大表:

CREATE TABLE my_big_table (
  sender VARCHAR(30) PRIMARY KEY,
  count  INTEGER NOT NULL DEFAULT 0
)
WITH (
  fillfactor = 80,
  autovacuum_vacuum_scale_factor = 0,
  autovacuum_vacuum_threshold = 40000
);
Run Code Online (Sandbox Code Playgroud)

这是 UPSERT 查询:

INSERT INTO my_big_table AS MBT (sender, count)
    SELECT destination, count(*) as received_count
    FROM my_temp_table
    GROUP BY destination
ON CONFLICT (sender) DO UPDATE
    SET …
Run Code Online (Sandbox Code Playgroud)

postgresql performance update upsert postgresql-performance

5
推荐指数
0
解决办法
1万
查看次数