如果我在ActiveRecord
按列排序时应用范围,例如
User.order("name")
我应该确保列上存在索引name
吗?或者只有在我做一个where
子句时才需要索引。
如果我在ActiveRecord
按列排序时应用范围,例如
User.order("name")
我应该确保列上存在索引name
吗?或者只有在我做一个where
子句时才需要索引。
是否可以使用索引来代替排序操作取决于几个不同的因素:
长话短说,您默认创建的索引可能不适合对数据进行排序,即使是,也可能不是最经济有效的访问表的方式。
不过最好的方法——测试一下,如果你对没有使用的索引感到惊讶,请考虑上述因素。