ฉันกำลังสร้างโปรแกรมขนาดเล็กที่ผู้ใช้โพสต์หรือเขียนบล็อก ในโพสต์เหล่านั้นผู้ใช้รายอื่นสามารถชอบหรือไม่ชอบโพสต์ดังกล่าวในเฟสบุ๊คหรือโพสต์โหวตลงหรือโพสต์ลงโพสต์ในสแต็คโอเวอร์โฟลว์ ฉันอยากจะรู้โครงสร้างฐานข้อมูลที่ดีซึ่งใช้กันทั่วไปและโปรแกรมทำงานอย่างมีประสิทธิภาพกับโครงสร้างนั้น ฉันมีสองตัวเลือก
เป็นครั้งแรก
โพสต์:
id head message datepost likes dislikes
1 ab anchdg DATE 1,2,3 7,55,44,3
ในทางข้างต้นid
เป็น postid ในคอลัมน์1,2,3
ไลค์คือรหัสของผู้ใช้ที่ชอบหรืออัปเดตโพสต์หรือบล็อก 7,55,44,3
คือรหัสของผู้ใช้ที่ไม่ชอบหรือลดระดับโพสต์หรือบล็อก
ที่สอง
โพสต์:
id head message datepost
1 ab anchdg DATE
ชอบอะไร:
id postid userid
1 1 1
2 2 2
ไม่ชอบ:
id postid userid
1 1 7
2 1 55
ด้วยวิธีนี้ฉันต้องสร้างสองตารางแยกต่างหากสำหรับไลค์และไม่ชอบเพื่อรับไลค์ของโพสต์ ด้วยวิธีนี้ตารางคือLikes
& Dislikes
จะได้รับการเติมเต็ม นี่อาจทำให้ตารางหนัก & ประมวลผลช้า
ดังนั้นฉันอยากจะรู้ว่าวิธีไหนดีกว่า & มาตรฐานในการบรรลุภารกิจนี้?