gpt4 book ai didi

database - 存储大量 'survey answers'

转载 作者:搜寻专家 更新时间:2023-10-30 22:33:20 26 4
gpt4 key购买 nike

我正在为调查系统构建数据库。

We have employees that fill in a survey with categories that have questions. The employee can give him/herself a score (for example 6/10). Now we also have coaches which will fill out the same test for that employee.

我当前的数据库是这样的

+------------+------------+---------+-----------+
| EmployeeID | QuestionID | CoachID | Answer |
+------------+------------+---------+-----------+
| 1 | 10 | null | 5/10 |
| 2 | 11 | null | 8/10 |
| 3 | 12 | null | 6/10 |
| 1 | 10 | 1 | 5/10 |
| 2 | 11 | 1 | 8/10 |
| 3 | 12 | 1 | 6/10 |
+------------+------------+---------+-----------+

如您所见,这些行由 1 名员工、1 名教练和 3 个问题提供。这会变得很大,我很担心这个设置。

如果有 40 名员工,每名员工有 2 名教练和 100 多个问题会怎样?

有没有更好的方法来解决这个问题?

JSON

我正在考虑使用 JSON 字段,它存储分数的类似数组表示,例如

[3,4,5,7]

但问题是我无法对该字段进行查询,对吗?

期待您处理此类数据库的方式。谢谢!

最佳答案

关系数据库可以处理数百万甚至数十亿行 - 这是一个非常窄的表(即只有几列)。即使有数千名不同的员工和问题,这也算不上一张大 table 。我不会在这方面担心。

如果你想确定这一点,设置一些测试数据。无论如何,这是一个非常好的做法——很少有开发人员尝试使用与系统上线后存在的数据量相当的数据量来测试他们的系统。如果您已经知道您将有 40 名员工、2 名教练和 100 个问题,那么您就知道要设置哪些测试数据。创建它并尝试一些与来自前端的查询相匹配的查询。如果您遇到性能问题,请检查索引等内容。

更进一步,想想这个系统在其整个生命周期中将有多少数据。如果员工每年都会回答新问题,那么想想这个系统需要保存多少年的历史数据。如果是 5 年,那就需要 40 名员工、2 名教练和 500 个问题。也许期望公司会增长很多,所以为了安全起见,您可以尝试 100 名员工、5 名教练和 500 个问题。

设置此类数据可能会有点耗时,但如果您预先发现这些问题,而不是发现您选择了糟糕的数据模型或编写了一些上线后查询不好。在您的情况下,数据模型看起来足够简单 - 数量也足够小 - 可能不会真正花费您那么长时间来设置和测试。

关于database - 存储大量 'survey answers',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41041690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com