ผมกำลังจะทำระบบ battle report รายการการต่อสู้ที่เขาไม่ได้เป็นคนเริ่ม(คนที่ถูกตีนั่นเอง)
ปัญหาคือการออกแบบฐานข้อมูล ผมไม่รู้ว่าอันไหนดีกว่ากัน เลยมาขอคำแนะนำจากทุกท่านครับ
แบบแรกเป็นการเพิ่ม colum
id | defender | report_1 | repoert_2 | ... | report_n
ใน report จะเป็นลักษณะนี้ -> เวลา*ผู้โจมตี*รายงานการต่อสู้ จากนั้นก็มา explode เอา
หรือ
id | defender | time_1 | report_1 | ... | time_n | report_n
แยกเวลาออกมาเพื่อให้ง่ายต่อการลบข้อความ หรือแยก attacker ออกมาด้วยเลย
แบบที่สองเป็นการเพิ่ม row
id | defender | attacker | time | report
สมมติว่าผมมีผู้เล่น 1000 คน แต่ละคนสามารถโจมตีได้ 100 ครั้งต่อวัน
นั่นหมายความว่า report จะเกิดขึ้นทั้งหมด 100,000 reports โดยที่ระยะเวลาในการลบตัวเอง(ถ้าเขาไม่ลบ)คือ 48 ชั่วโมง
ถ้าแบบแรกคือเพิ่ม colum จำนวนแถวจะเป็น 1000 ส่วนจำนวน colum ก็แล้วแต่
แต่ถ้าแบบที่สอง นั่นหมายความว่า จะต้องมีจำนวนข้อมูล 200,000 แถวโดยประมาณ
เรียนถามว่า แบบไหนถึงจะดีครับ

(ไม่ไ้ด้เรียนเรื่องฐานข้อมูลมา ออกแบบไม่ดีตายแน่)
ถ้าเป็นแบบแรก การแยก colum กับการมา explode ทีหลัง อันไหนจะดีกว่ากันครับ