数据库
首页 > 数据库> > mySQL – 我应该反规范吗?

mySQL – 我应该反规范吗?

作者:互联网

概述(对不起它含糊不清 – 我想如果我进入更多细节,它会让事情复杂化)

我有三个表,表一包含一个id,表二包含自己的id和表一个的id和表三包含自己的id和表二的id.

我花了很多时间思考,我认为表3中还包含相关的表id更高效.

– 这意味着我不必加入三个表,我可以查询表三(对于将经常使用的查询)

– 它只允许锁定表3中包含表1中特定id的行,从而更容易实现预订系统.

对于想要了解有关数据库布局的更多信息的人,有更多信息here

去标准化有哪些不利因素?我见过一些完全反对它的人和其他相信正确情况的人,这是一个有用的工具. id永远不会改变,所以除了必须两次插入相同的数据以及因此它将消耗的额外空间(因为它只是id的肯定可以忽略不计)之外,我并没有真正看到任何缺点.

解决方法:

我的建议是遵循这个一般规则:默认情况下标准化,然后在识别出它将解决的性能问题时进行非规范化.

我发现规范化数据和处理它的代码,维护起来更简单,更合理.我认为使用非规范化来提高性能没有任何问题,但我不会推测性地应用任何性能优化,这会导致可维护性降低,直到您确定它们是必要的.

标签:denormalization,mysql,database-design,database
来源: https://codeday.me/bug/20190726/1547293.html