Почему миграция таблицы соединений rails имеет 2 индекса в тех же столбцах? - PullRequest
0 голосов
/ 11 декабря 2018

То, что я прошу, можно увидеть в этом разделе направляющих рельсов: 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 выпал мне (сбор рельсов для работы).

Что я знаю, так это то, что наличие такого составного индекса в таблице соединений увеличило бы скорость запросов в этом соединении-table, и повлияет на время вставки в эту таблицу.

Однако меня беспокоит то, подталкивают ли меня документы к созданию двух индексов для одних и тех же столбцов.Было бы здорово, если бы кто-нибудь мог уточнить это для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...