我使用PostgreSQL
作为我的数据库,C++ with Qt
作为我的客户端。多个客户端可以同时连接到数据库并开始编辑一个表。组织这个过程的正确方法是什么?
我要做的最后一件事是在客户端编辑缓存表,在数据库中使用单独的表并修改上一次表,并在提交时生成某种diff
过程。
答案 0 :(得分:1)
请避免使用时间戳差异。
如果您认为需要,请使用行锁定。使用从数据库派生的序列,尽可能频繁地进行查询,同时避免性能问题。
修改强>
请参阅SELECT FOR UPDATE
语法以了解行锁定选项。
序列,保证是数据库管理的唯一数值。这是管理并发所需的层。
答案 1 :(得分:0)
或者有一个中间层和一个事务层来为你维护ACID。
我认为您的设计不会很好地扩展。
答案 2 :(得分:0)