Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 对于一个生产平台,什么是评估该级别的最佳方法,直到应该标准化哪个DB?_Mysql_Sql_Performance_Database Normalization - Fatal编程技术网

Mysql 对于一个生产平台,什么是评估该级别的最佳方法,直到应该标准化哪个DB?

Mysql 对于一个生产平台,什么是评估该级别的最佳方法,直到应该标准化哪个DB?,mysql,sql,performance,database-normalization,Mysql,Sql,Performance,Database Normalization,对于为最终用户部署的平台,如果我的活跃用户群超过100000,那么什么是决定何时停止规范数据库的最佳方法? 例如:- Schema 1: 级别\u表=> 身份证 组id 奖励 水平仪 二级目标: 身份证 目标类型 需要点到交叉点 级别对象与级别关系: 身份证 级别\u表\u id 级别\目标\ id Schema 2: 级别\u表=> 身份证 组id 奖励 水平仪 二级目标: 身份证 目标类型 需要点到交叉点 级别id 每个组都有一组不同的级别,同一级别在不同的组中有不同的目

对于为最终用户部署的平台,如果我的活跃用户群超过100000,那么什么是决定何时停止规范数据库的最佳方法? 例如:-

Schema 1:

级别\u表=>

  • 身份证
  • 组id
  • 奖励
  • 水平仪
二级目标:

  • 身份证
  • 目标类型
  • 需要点到交叉点
级别对象与级别关系:

  • 身份证
  • 级别\u表\u id
  • 级别\目标\ id
Schema 2:

级别\u表=>

  • 身份证
  • 组id
  • 奖励
  • 水平仪
二级目标:

  • 身份证
  • 目标类型
  • 需要点到交叉点
  • 级别id
每个组都有一组不同的级别,同一级别在不同的组中有不同的目标,因此在第二个模式中,针对不同的级别id重复目标


在这种情况下,考虑到我在平台上获得的流量,哪种形式的规范化更好。请帮助我如何评估这一点。

我认为您必须评估一个目标与多个级别关联的频率。 如果答案是“从不”,并且您100%确信这一点,那么模式2是最好的。
否则,我认为最好使用模式1。

您的模式不同,这不仅仅是规范化。第一种是多对多关系,第二种是一对多关系。因此,这个问题没有真正的意义。@Paddy是的,我理解这一点,但我不知道如何评估这两个设计中哪一个更好。我应该遵循的任何程序都应该是有帮助的。“级别”对这个问题重要吗?还是与等级制度有关?请删除“level”,或者澄清它的含义。要判断您是否“过度规范化”,我们需要查看
选项
。我可以看出您的多:多关系表效率低下。因此,我的功能需求表明,我可以拥有属于一个级别的多个目标。模式1在分析和构建数据方面给了我优势,但我应该如何检查哪一个会提供最佳的用户体验。你所说的用户体验是什么意思?