【发布时间】:2010-10-25 17:07:38
【问题描述】:
我正在创建一个带有积分的游戏,所以我有一个这样的架构:
create table points (
id int,
points int,
reason varchar(10)
)
并且要获得用户拥有的点数是微不足道的:
select sum(points) as total from points where id = ?
然而,随着积分表的扩大,性能变得越来越重要。我想做类似的事情:
create table pointtotal (
id int,
totalpoints int
)
使它们保持同步的最佳做法是什么?我是否尝试在每次更改时更新 pointtotal?我是否运行每日脚本?
(假设我有正确的键 - 为了简洁起见,它们被省略了)
编辑:
以下是我省略的一些特性,但应该会有所帮助:
点的插入/更新并不是那么频繁 有大量的条目,也有大量的请求 - 正如您所见,密钥非常简单。
【问题讨论】:
-
后端语言是 Perl,不确定是否重要。
标签: mysql database-design optimization