ฉันมีคำถามเกี่ยวกับฐานข้อมูล Rails
- ฉันควรเพิ่ม "ดัชนี" ให้กับคีย์ต่างประเทศทั้งหมดเช่น "xxx_id" หรือไม่
- ฉันควรเพิ่ม "ดัชนี" ในคอลัมน์ "id" ที่สร้างขึ้นโดยอัตโนมัติหรือไม่
ฉันควรเพิ่ม "ดัชนี (ไม่ซ้ำกัน)" ในคอลัมน์ "id" ที่สร้างขึ้นโดยอัตโนมัติหรือไม่
หากฉันเพิ่มดัชนีให้กับคีย์ต่างประเทศสองรายการพร้อมกัน (
add_index (:users, [:category, :state_id])
จะเกิดอะไรขึ้นสิ่งนี้แตกต่างจากการเพิ่มดัชนีสำหรับแต่ละคีย์อย่างไร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
คำตอบที่ดีจนถึงตอนนี้ คำถามเพิ่มเติม
- ฉันควรเพิ่ม "index with unique" สำหรับ xxx_id ใช่ไหม