मैं यह ट्रैक करने के लिए कार्यक्षमता लागू कर रहा हूं कि उपयोगकर्ता ने कौन से लेख पढ़े हैं।
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 तालिका हमेशा दोनों स्तंभों को देखने के लिए क्वियर होगी, कभी भी एक ही नहीं। मेरा प्रश्न यह है कि मेरा सूचकांक कैसा दिखना चाहिए। क्या इन तालिकाओं के क्रम में कोई अंतर है, क्या इसके लिए कुछ और विकल्प होना चाहिए या जो भी हो। मेरा लक्ष्य DB Postgres है।
add_index(:user_views, [:article_id, :user_id])
धन्यवाद।
अद्यतन:
क्योंकि दोनों स्तंभों में समान मान वाली केवल एक ही पंक्ति मौजूद हो सकती है (क्योंकि यह जानने के बाद कि क्या user_id is read article_id है), क्या मुझे इस पर विचार करना चाहिए: अद्वितीय विकल्प? अगर मैं गलत नहीं हूँ तो इसका मतलब है कि मुझे अपने आप कोई जाँच करने की ज़रूरत नहीं है और हर बार जब कोई उपयोगकर्ता किसी लेख पर जाता है तो हर बार एक प्रविष्टि करता है।