একজন ব্যবহারকারী কোন নিবন্ধ পড়েছেন তা ট্র্যাক করতে আমি কার্যকারিতা বাস্তবায়ন করছি।
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
ইউজার_ভিউস টেবিলটি সর্বদা উভয় কলাম অনুসন্ধান করার জন্য জিজ্ঞাসা করা হবে, কেবলমাত্র একটিই নয়। আমার প্রশ্নটি আমার সূচকটি কেমন হওয়া উচিত। এই টেবিলগুলির ক্রমটিতে কি কোনও পার্থক্য রয়েছে, এটিতে কিছু বা আরও কিছু বিকল্প থাকা উচিত। আমার টার্গেট ডিবি পোস্টগ্রিস।
add_index(:user_views, [:article_id, :user_id])
ধন্যবাদ
আপডেট:
যেহেতু উভয় কলামে একই মান সমেত একটি মাত্র সারি বিদ্যমান থাকতে পারে (যেহেতু ব্যবহারকারী_আইডি নিবন্ধ_আইডি পড়েছে কিনা তা জানতে পেরে), আমি কি: অনন্য বিকল্পটি বিবেচনা করব? যদি আমি ভুল না হয়ে থাকি তবে এর অর্থ হ'ল আমাকে নিজেই কোনও চেকিং করতে হবে না এবং ব্যবহারকারী যখনই কোনও নিবন্ধ দেখার জন্য প্রতিবার সন্নিবেশ করান।