我们的多租户应用程序使用Postgres数据库。这个应用程序是许多年前创建的,现在,当负载增加时,我们看到了一些性能问题。我们拥有的每个数据库表至少有两个索引- Id (PK)和TenantId (FK)。在每个select上,我们都添加了TenantId过滤器,当我们按Id获取项时,where子句中也添加了TenantId。
我的问题是我们做错了吗。我们应该添加索引(Tenant
我对Postgres感兴趣,但我想答案可能是普遍相同的。* from my_table order by foo, bar for update在解释计划中有一个不同的地方(见下面),但是如果它真的改变了锁顺序,这对我来说并不明显,这正是我真正感兴趣的。我正在与一些不必要的死锁作斗争,而我注意到的一件事是,两种不同的排序规则之间的</e