J'ai une question sur la base de données Rails.
- Dois-je ajouter "index" à toutes les clés étrangères comme "xxx_id"?
- Dois-je ajouter "index" à la colonne "id" créée automatiquement?
Dois-je ajouter "index (unique)" à la colonne "id" créée automatiquement?
Si j'ajoute un index à deux clés étrangères à la fois (
add_index (:users, [:category, :state_id])
, que se passe-t-il? En quoi est-ce différent de l'ajout de l'index pour chaque clé?class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.string :name t.integer :category_id t.integer :state_id t.string :email t.boolean :activated t.timestamps end # Do I need this? Is it meaningless to add the index to the primary key? # If so, do I need :unique => true ? add_index :users, :id # I don't think I need ":unique => true here", right? add_index :users, :category_id # Should I need this? add_index :users, :state_id # Should I need this? # Are the above the same as the following? add_index (:users, [:category, :state_id]) end end
Excellente réponse jusqu'à présent. Question supplémentaire.
- Je devrais ajouter "index avec unique" pour xxx_id, non?