postgreSQL索引和Rails的最佳用法是什么?

时间:2015-12-10 12:17:59

标签: ruby-on-rails postgresql

我是数据库优化的新手,我现在已经使用脚手架工具,生成器和网络教程创建了Rails应用程序一段时间了。到目前为止,几乎所有东西都运行良好,没有大量的用户/流量/数据和UX完美无瑕。

我刚刚开始创建一个庞大的应用程序,可以保存客户支持票据和更新,所以我开始担心在不久的将来的性能。我只记得我大学教育的索引作为快速搜索的数据库参考。

我不清楚的是我何时应该使用它们以及如何使用它们?我已经看到脚手架为新模型的id和created_at日期时间添加add_index但我不知道他们是否正确使用以及我应该自己添加什么以保持将对象检索速度提升到最佳/快速水平,并在创建模型时学习常用做法。

我还看到包含2个或更多字段的索引。为什么呢?

我的模型是UserCustomerSupportTicket,因此任何建议都将受到赞赏。我正在研究Rails中的可能示例。

1 个答案:

答案 0 :(得分:0)

指数会让您的搜索变得更快。您需要分析模型并查看您要搜索的所有参数。 实施例

 User.where(email: "test@example.com")

通常,我们总是使用电子邮件地址搜索用户,因此在其上添加索引是有意义的。因此,作为一个拇指规则,您需要检查您的字段和那些将与.find.where条件一起使用的字段。

但是,索引还需要自己的空间,这也可能占用大量空间,因此您需要注意这一点。