我有一个使用 Codeigniter 和 MySQL 构建的测验网站。
测验使用这两种方法进行评估。
- 每次用户提交答案时发送请求。(10 个问题的 10 个数据库查询)。
- 在测验结束时发送请求。(这将需要一个查询和大量的计算来从结果数组中搜索答案。)
我正在考虑将临时(直到未提交测验)数据存储在会话中。
注意:存储的数据不是直接从数据库中获取的结果,而是在将其发送到 View 之前使用 PHP 处理的数组
通过这样做,我可以在第一种情况下保存 10 个查询。
在第二种情况下,它为我节省了数据库查询和处理数据库结果的时间。
在我阅读 Stackoverflow 上的这些问题之前,这是我得到的最佳解决方案
从上述问题中得到的基本思想是使用数据库查询(由于 KISS 规则,可能会返回陈旧数据)。
是的,它会占用大量磁盘空间,但我认为同时它正在提高网站的性能。
所以我的问题是:
1.“存储计算结果”或“重新查询然后计算结果”哪个更好?
2. 会话将如何影响网站的性能?