จัดทำดัชนีหลายคอลัมน์ใน Ruby on Rails
ฉันกำลังใช้ฟังก์ชันเพื่อติดตามว่าผู้ใช้อ่านบทความใดบ้าง create_table "article", :force => true do |t| t.string "title" t.text "content" end นี่คือการย้ายข้อมูลของฉันจนถึงตอนนี้: create_table :user_views do |t| t.integer :user_id t.integer :article_id end ตาราง user_views จะถูกสอบถามเพื่อค้นหาทั้งสองคอลัมน์เสมอไม่ใช่เพียงคอลัมน์เดียว คำถามของฉันคือดัชนีของฉันควรมีลักษณะอย่างไร ลำดับของตารางเหล่านี้มีความแตกต่างกันหรือไม่ควรมีตัวเลือกมากกว่านี้หรืออะไรก็ตาม ฐานข้อมูลเป้าหมายของฉันคือ Postgres add_index(:user_views, [:article_id, :user_id]) ขอบคุณ. อัปเดต: เนื่องจากมีเพียงแถวเดียวที่มีค่าเดียวกันในทั้งสองคอลัมน์ (เนื่องจากทราบว่า user_id HAS อ่าน article_id หรือไม่) ฉันควรพิจารณาตัวเลือก: unique หรือไม่ หากฉันไม่เข้าใจผิดนั่นหมายความว่าฉันไม่ต้องทำการตรวจสอบใด ๆ ด้วยตัวเองและเพียงแค่ทำการแทรกทุกครั้งที่ผู้ใช้เข้าชมบทความ