Tôi có một câu hỏi về cơ sở dữ liệu Rails.
- Tôi có nên thêm "chỉ mục" cho tất cả các khóa ngoại như "xxx_id" không?
- Tôi có nên thêm "chỉ mục" vào cột "id" được tạo tự động không?
Tôi có nên thêm "index (duy nhất)" vào cột "id" được tạo tự động không?
Nếu tôi thêm chỉ mục vào hai khóa ngoại cùng một lúc (
add_index (:users, [:category, :state_id])
điều gì xảy ra? Điều này khác với việc thêm chỉ mục cho mỗi khóa như thế nào?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
Câu trả lời tuyệt vời cho đến nay. Câu hỏi bổ sung.
- Tôi nên thêm "chỉ mục duy nhất" cho xxx_id, phải không?