Rails:更好的是小桌子还是一张大桌子?

时间:2017-10-28 02:10:28

标签: sql ruby-on-rails ruby database model-view-controller

就性能而言,使用一个大表而不是几个较小的表是否更有效?

@animals = Animal.where(user_id: 1)

OR

@animals = Cat.where(user_id: 1) + Dog.where(user_id: 1)

非常感谢。

1 个答案:

答案 0 :(得分:2)

在这种特殊情况下,您正在质疑(可以应用于类似的数据建模),一个表会更好。我设计模型var termList = loadTerms(termSetId); function loadTerms(termSetId) { var termList = []; var taxSession = SP.Taxonomy.TaxonomySession.getTaxonomySession(clientContext); var termStore = taxSession.getDefaultSiteCollectionTermStore(); var termSet = termStore.getTermSet(termSetId); var terms = termSet.getAllTerms(); clientContext.load(terms, 'Include(Name)'); clientContext.executeQueryAsync( function () { for (var i = 0; i < terms.get_count(); i++) { var term = terms.getItemAtIndex(i); termList.push(term); console.log(String.format('12 Term : {0}', term.get_name())); } // At this point TermList has the values I need. How do I return it to the caller? }); } 的方式是让它具有属性Animal

让所有的狗和猫只是:

species

或者你可以像这样使用Rails 5 Animal.where("species = 'dog' OR species = 'cat'") 方法

or

查看Active Record query interface