为什么Rails Join-Table迁移在同一列上有2个索引?

时间:2018-12-11 06:25:19

标签: mysql ruby-on-rails

我要的东西可以在rails-guides的这一部分中看到:https://guides.rubyonrails.org/active_record_migrations.html#creating-a-standalone-migration

在此处粘贴相关代码:

class CreateJoinTableCustomerProduct < ActiveRecord::Migration[5.0]
  def change
    create_join_table :customers, :products do |t|
      # t.index [:customer_id, :product_id]
      # t.index [:product_id, :customer_id]
    end
  end
end

请注意两个t.index。通常,当我为联接表创建迁移时,我只创建一个覆盖两个列的索引。这条来自rails-docs的代码对我很突出(为工作找了条钢轨)。

我知道的是,在联接表上具有这样的复合索引将提高该联接表的查询速度,并会影响该表的插入时间。

但是,困扰我的是文档是否在哄骗我在同一列上创建两个索引。如果有人可以为我澄清这一点,那就太好了。

0 个答案:

没有答案