以下是我的情况:
情况:
我有用户,每个用户在多个类别中有多个值。
在我看来,我有两个选择:
I.创建一个新表“values”:

 user_ID   category   value

  ...        ...       ...
   5          1        aaa
   5          1        bbb
   5          2        ccc
   5          2        ddd
   5          2        eee
   6          1        xxx
   6          2        yyy
   6          1        zzz

二。在我与用户的实际表中-“users”:
user_ID (unique)         values
        5             aaa,bbb$$ccc,ddd,eee
        6             xxx,zzz$$yyy

…将值保存为文本,并用“,”分隔值和“$$”分隔类别对其进行分析。
到目前为止,我一直在用第二种方法做一些小事情,但是现在我希望这个数据库有很多值和类别,我想知道哪个会减少服务器负载——有一个非常大的mySQL数据库表,在每个页面上查看它,看看哪些值属于当前用户;或者只从一个相对较小的表中获取他的所有值,但每次都用PHP解析字符串以使其可用?

最佳答案

第一种方法-这就是关系数据库的构建目的。索引还有一个额外的好处,即使使用相当大的数据集,索引也能使它保持快速。
此外,它还允许从另一个方向查询数据-获取类别2等于“eee”的所有用户

10-06 06:22