我需要维护一个项目的统计表,该表由项目列表及其用途组成(想想一个类似网站的网站,您希望在其中计算综合浏览量)。每次实例化一个项目时,我都需要增加特定项目的使用率。
我的第一个实现是:
statistics(
id integer NOT NULL,
name character varying(255) NOT NULL,
usage integer NOT NULL DEFAULT 0,
);
UPDATE statistics
SET usage = usage + 1
WHERE name = '<name>';
我关心的是性能和并发性。更新过程将由数十个(也许是80-120)设备实例化,并且每秒可能会发生几次,所以我的问题是:
1)这种方法会保留并发性吗?(即,如果有多个设备“同时”请求更新,是否将每个请求都计入?)
2)您能建议一种实现结果的最佳方法吗?我希望在编写更新时会负担很多,而阅读会更频繁。是否存在增加值的特定功能?我正在查看“序列”,但不确定是否正确。
提前非常感谢您的任何建议