Ruby on rails postgreSQL索引和Rails的最佳用途是什么?

Ruby on rails postgreSQL索引和Rails的最佳用途是什么?,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我不熟悉数据库优化,我已经使用脚手架工具、生成器和web教程创建Rails应用程序一段时间了。到目前为止,几乎一切正常,没有大量的用户/流量/数据,用户体验也完美无缺 我刚刚开始创建一个巨大的应用程序,它将保存客户支持票证和更新,所以我开始担心在不久的将来的性能。我只记得大学教育中的索引作为快速搜索的数据库参考 我不清楚的是什么时候应该使用它们以及如何使用?我看到架子工为新模型的id和datetime创建的id添加了一个add_索引,但我不知道他们是否正确使用,我应该自己添加什么,以便将对象检索

我不熟悉数据库优化,我已经使用脚手架工具、生成器和web教程创建Rails应用程序一段时间了。到目前为止,几乎一切正常,没有大量的用户/流量/数据,用户体验也完美无缺

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

我不清楚的是什么时候应该使用它们以及如何使用?我看到架子工为新模型的id和datetime创建的id添加了一个
add_索引
,但我不知道他们是否正确使用,我应该自己添加什么,以便将对象检索速度保持在最佳/快速水平,并在创建模型时学习常见做法

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


我的型号是
用户
客户
支持票
,如有任何建议,将不胜感激。我正在研究Rails中可能的例子。

索引将使您的搜索速度更快。您需要分析您的模型,并查看您要搜索的所有参数。 范例

通常,我们总是使用电子邮件地址搜索用户,因此在其上添加索引是有意义的。因此,作为一个经验法则,您需要检查您的字段和将与
一起使用的字段。查找
。其中
条件更多

但是,索引也需要自己的空间,这也会占用大量空间,因此您需要小心

可能重复的
 User.where(email: "test@example.com")