Saya menerapkan fungsionalitas untuk melacak artikel mana yang telah dibaca pengguna.
create_table "article", :force => true do |t|
t.string "title"
t.text "content"
end
Ini migrasi saya sejauh ini:
create_table :user_views do |t|
t.integer :user_id
t.integer :article_id
end
Tabel user_views akan selalu ditanyai untuk mencari kedua kolom, tidak hanya satu. Pertanyaan saya adalah bagaimana tampilan indeks saya. Apakah ada perbedaan dalam urutan tabel ini, apakah ada lebih banyak pilihan untuk itu atau apapun. DB target saya adalah Postgres.
add_index(:user_views, [:article_id, :user_id])
Terima kasih.
UPDATE:
Karena hanya satu baris yang berisi nilai yang sama di kedua kolom yang dapat ada (karena dengan mengetahui apakah user_id TELAH membaca article_id), haruskah saya mempertimbangkan opsi: unik? Jika saya tidak salah, itu berarti saya tidak perlu melakukan pemeriksaan sendiri dan cukup membuat sisipan setiap kali pengguna mengunjungi artikel.