每次在数据库中使用标志比查询表更好吗?

时间:2014-11-18 07:40:20

标签: mysql database database-design erd

我正在做一项工作,我在这项工作中决定采用不同的技术来遵循我的项目的简单规则。 问题是我必须检查用户是否第一次执行插入任务。因为如果用户第一次这样做,我必须给用户一个奖励积分。所以,每次当用户执行插入任务时“如果用户第一次发布,我是否必须针对该用户检查整个表?”或者我应该在我的帖子中添加一个列/一个标志表,为了这个目的。如果用户群增加到数千个,我会陷入最快和内存效率的专业和玉米。

提前致谢, : - )

1 个答案:

答案 0 :(得分:0)

听起来你要反复进行的设计决定就是所谓的“#34;物化视图”的特殊情况。视图存储查询,并将结果作为表提供。物化视图存储查询结果。你发现的利弊是真实的。

在单个标志的情况下,这非常节省空间,因此也是时间效率的。你真正想问自己的问题是:当标志更新时,标志的使用速度是否值得减速?没有普遍的答案。

您可能还想编写一些额外的代码,通过扫描整个数据库来协调标志与现实。每当相同的事实被存储不止一次时,就会出现矛盾的可能性。从理论上讲,这无法搞砸。实际上,墨菲定律占上风。

相关问题