ruby-on-rails – 如何识别Rails中最好的数据库索引?

在Rails中,我一直在尝试构建数据库索引来加速我的查询,但我经常发现在运行迁移后我的数据库构建新的数据库,它仍然没有使用我正在构建的索引(尽管它们似乎对我而言,对于特定的查询来说是完美的).

Rails中是否有一个工具可以搜索系统并识别需要创建的特定索引以获得最佳性能?

如果没有,是否有任何特定的规则来确定我的数据库没有使用我精心设计的索引?

从本质上讲,我的问题是:我怎样才能避免我当前的流程,即1)运行迁移创建一堆可能的索引,2)发现它们不起作用,3)回滚并感觉我的数据库更加沮丧明显的近视?

最佳答案 好吧,如果所有查询都是SELECT * FROM的形式,索引可能不会被使用.首先调整查询,这样您只返回每个视图所需的数据,然后从那里构建索引.

此外,您可以在数据库中为每个查询运行EXPLAIN,这将比Ruby社区提供的任何gem /插件更具启发性.

点赞