使用STI的时候索引去哪了?
问题:使用STI的时候索引去哪了? 我正在使用 Rails 和 postgres。 我有几个使用 STI 的模型,我想知道应该在表的什么位置放置索引,为什么? 例如,假设我有以下设置: class Comment < AR; end class MovieComment < Comment; end class MagazineComment < Comment; end # Fake Comme
·
问题:使用STI的时候索引去哪了?
我正在使用 Rails 和 postgres。
我有几个使用 STI 的模型,我想知道应该在表的什么位置放置索引,为什么?
例如,假设我有以下设置:
class Comment < AR; end
class MovieComment < Comment; end
class MagazineComment < Comment; end
# Fake Comment Table
id:integer
title:string
body:text
type:string
谢谢!
解答
在type
字段上,如果您只想要MovieComment
或MagazineComment
之一。如果你不这样做,你就不需要这里的索引。我不确定AR是否每次都使用type
,但只是为了确保。
因为id
字段是主键,所以索引应该已经存在。
如果你想同时查询type
和id
确保你有一个组合索引。
在其他字段上:取决于您查询的内容,但我想您只想检索这些。
更多推荐
所有评论(0)