【发布时间】:2021-06-29 23:47:12
【问题描述】:
我目前有这个 JSON 文件,它记录用户对给定问题的回答,并根据回答进行一些计算。当我在前端工作时,使用 json 更方便。用户名和密码系统没有任何安全性,仅供测试。现在我正在尝试使用更安全的用户帐户系统构建 mySQL 数据库,但我似乎无法找到一种方法来构建与此文件执行相同操作的表。
{
"username" : "a6",
"password" : "password",
"joined" : 1621995190170,
"progress" : [
{
"Question ID" : "00001",
"Question" : "-----",
"SetAnswer" : "xxxxx",
"Recorded" : "yyyyy",
"Score" : 945,
"AttemptedAt" : 1611682870221,
"Factor" : 4,
"AttemptAgain" : 1617014020591
},
{
"Question ID" : "00002",
"Question" : "-----",
"SetAnswer" : "xxxxx",
"Recorded" : "yyyyy",
"Score" : 945,
"AttemptedAt" : 1611682870254,
"Factor" : 4,
"AttemptAgain" : 1617014020564
},
{
"Question ID" : "00003",
"Question" : "-----",
"SetAnswer" : "xxxxx",
"Recorded" : "yyyyy",
"Score" : 945,
"AttemptedAt" : 1611682870254,
"Factor" : 4,
"AttemptAgain" : 1617014020564
}...
(it goes on for 10,000+ entries)
我遇到的问题是每个用户的每个问题都需要记录很多东西,为每个用户制作一个表格将是一个非常糟糕的主意。任何有关设计 SQL 数据库的帮助将不胜感激。
【问题讨论】:
-
您是否尝试过创建一个包含“question id”、“question”、“setanswer”、“recorded”、“score”、“attemptedat”、“factor”、“attemptagain”列的表格?
-
同意 mkrieger1。创建一个“用户”表,获取用户的“id”并将其链接到问题表并根据信息插入条目。
-
@mkrieger1 是的,我想到了,但是每个用户 12000 行会使该表的行数过高,对吧?我一直认为更高的行数(大约 10 万或数百万)会影响效率,不是吗?
-
@Achs98:如果您获得“很多”记录,这取决于用户数量,但是您需要很多用户才能“太高”。顺便说一句,“太高了”有多高?
标签: mysql json database-design