Bir kullanıcının hangi makaleleri okuduğunu izlemek için işlevsellik uyguluyorum.
create_table "article", :force => true do |t|
t.string "title"
t.text "content"
end
Şu ana kadarki göçüm:
create_table :user_views do |t|
t.integer :user_id
t.integer :article_id
end
User_views tablosu her zaman her iki sütunu aramak için sorgulanır, yalnızca bir sütun değil. Sorum, indeksimin nasıl görünmesi gerektiğidir. Bu tabloların sıralamasında bir fark var mı, biraz daha fazla seçenek mi yoksa her neyse. Hedef DB'm Postgres.
add_index(:user_views, [:article_id, :user_id])
Teşekkürler.
GÜNCELLEME:
Her iki sütunda da aynı değerleri içeren yalnızca bir satır mevcut olabileceğinden (çünkü user_id'nin makale_kimliğini okuyup okumadığını bildiğim için), şu seçeneği dikkate almalı mıyım? Yanılmıyorsam bu, kendi başıma herhangi bir kontrol yapmam ve bir kullanıcı bir makaleyi her ziyaret ettiğinde bir ekleme yapmam gerektiği anlamına gelir.