从这个文档http://www.postgresql.org/docs/current/static/explicit-locking.html
我知道 PostgreSQL 提供了各种锁定模式来控制对表中数据的并发访问。
我的问题是我有很多会话将访问我的数据库,但我很困惑我应该制作 1 个 40 列的大表还是许多列更少的表(一对一关系)。
因为当我选择数据时,我会选择所有数据 ---> 当我使用 INNER JOIN 从许多表中选择时需要更多时间,但从 1 个大表中选择需要更少的时间。因此,如果我使用许多表,我的 php 响应会变慢。
但是当我只使用一张表同时许多会话会更新我的表中的数据时,我害怕死锁或延迟,因为命令 UPDATE、DELETE 和 INSERT 在目标表上获取 ROW EXCLUSIVE 锁定模式。一般来说,任何修改表中数据的命令都会获取这种锁定模式。
谁能建议我应该采取哪种最佳方法?一张大桌子还是多张桌子?