单表继承:DB表

时间:2017-07-27 14:16:57

标签: ruby-on-rails postgresql sti

我在计算机上不到1岁,我希望在早期教育中学习计算机科学。

我正在开发rails并考虑应用STI。每个子类中的列数范围为5-6,这些是相对相同的数据类型。并且,我想知道每个子类的唯一属性是好主意..还是没有?

在DB表中有太多空值会有什么负面影响?

  • 是否会降低任何计算性能?
  • 是否会影响搜索效果?

由于子类中有许多共享数据类型,并且每个子类中的列数没有太大差异,因此我可以使用相同的属性名来减少表的列总数。

但是,如果我不区分每个子类中的属性名称,则每个子类的输入表单可能在代码中都是ugry。我不想在视图中放太多逻辑,我可以使用AJAX在控制器中编写更好的代码。

你会做什么?

1 个答案:

答案 0 :(得分:0)

Reddit的这个案例研究非常有趣,我认为这就是为什么我应该选择STI的答案。 http://highscalability.com/blog/2010/5/17/7-lessons-learned-while-building-reddit-to-270-million-page.html

  

“第6课:存储冗余数据......其基本理念是:关键   速度是预先计算一切并缓存它。“