Php 使用包含从其他表计算的数据的db表是否不好?

Php 使用包含从其他表计算的数据的db表是否不好?,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我正在开发一个测验网站。我的数据库模式是这样的,当用户完成一个测验时,他们的所有答案都存储在一个名为responses的表中。我可以返回并通过db查询实时计算测验的分数。然而,我想知道是否将每次测验的分数存储在一个新的表中以便更快地查找会更有效,因为我必须对我对回答表的查询进行一些后处理(即循环每个测验,然后循环每个测验中的问题以获得分数) 存储最终可能从查询中获得的数据是一种不好的做法吗 以下是我的模式相关部分的图片: 谢谢 MartynMySQL目前支持此类计算的视图,但视图不是“物化视图

我正在开发一个测验网站。我的数据库模式是这样的,当用户完成一个测验时,他们的所有答案都存储在一个名为responses的表中。我可以返回并通过db查询实时计算测验的分数。然而,我想知道是否将每次测验的分数存储在一个新的表中以便更快地查找会更有效,因为我必须对我对回答表的查询进行一些后处理(即循环每个测验,然后循环每个测验中的问题以获得分数)

存储最终可能从查询中获得的数据是一种不好的做法吗

以下是我的模式相关部分的图片:

谢谢


Martyn

MySQL目前支持此类计算的视图,但视图不是“物化视图”,因此每次访问视图时都会运行查询。虽然MySQL将进行一些内部优化,但它不会缓存结果

下面是一篇关于创建物化视图的相关文章


要使用此功能,您需要运行本机查询。大多数其他数据库类型直接支持物化视图,因此您只需查看有关如何为后端数据库创建物化视图的文档。

。我可以通过db查询返回并计算动态测验的分数。。确切地那样做!哇,这是一个快速的响应,那么获取信息所需的额外后处理是否无关紧要(即成本比更多的db表小得多)。?这可能很重要,但我们将讨论几毫秒-这还取决于您的代码设计,您计算这些值的方式/时间和频率,谢谢您的保证。。