我的问题有一个答案 -如何使用acts-as-taggable-on查找没有标签的条目?
但不幸的是效率很低。它在循环期间对数据库造成了一次打击
我有 10,000 条记录,如果我要遍历所有记录并且代码对所有 10,000 条记录进行一次查询,那将是不可接受的。
寻找更有效的解决方案。
谢谢。
我的问题有一个答案 -如何使用acts-as-taggable-on查找没有标签的条目?
但不幸的是效率很低。它在循环期间对数据库造成了一次打击
我有 10,000 条记录,如果我要遍历所有记录并且代码对所有 10,000 条记录进行一次查询,那将是不可接受的。
寻找更有效的解决方案。
谢谢。
我建议这个解决方案(模型候选人的例子):
Candidate.all - Candidate.joins("JOIN taggings on taggings.taggable_id = candidates.id").where("taggings.taggable_type = 'Candidate'")
无论您的表中有多少对象,这只会命中数据库两次。
我对此作为范围的解决方案是:
scope :no_tags, joins('LEFT JOIN taggings ON taggings.taggable_id = assets.id AND taggings.taggable_type = "Asset"').where('taggings.id IS NULL')