ฉันกำลังสร้าง RESTful API ฉันกำลังดิ้นรนที่จะตัดสินใจเกี่ยวกับวิธีที่ดีที่สุดในการออกแบบตารางฐานข้อมูลรอบทรัพยากรของฉัน
ตอนแรกฉันแม้ว่าตารางต่อทรัพยากรจะเป็นวิธีที่ดี แต่ตอนนี้ฉันกังวลว่าสิ่งนี้จะส่งผลให้ตารางมีขนาดใหญ่ขึ้นอย่างทวีคูณยิ่งทำให้ห่วงโซ่ทรัพยากรมากขึ้น
ตัวอย่างเช่นสมมติว่าฉันมีทรัพยากรสามอย่างคือผู้ใช้ลูกค้ายอดขาย ผู้ใช้เป็นสมาชิกของ api ของฉันลูกค้าคือลูกค้าผู้ใช้และยอดขายเป็นการซื้อโดยลูกค้าแต่ละรายไปยังบัญชีผู้ใช้
เข้าถึงทรัพยากรการขายดังนี้
GET /users/{userID}/clients/{clientID}/sales/{salesID}
ดังนั้นหากมีผู้ใช้ 10 คนแต่ละคนมีลูกค้า 10 คนและสำหรับลูกค้าแต่ละรายมียอดขาย 10 รายการขนาดของตารางจะใหญ่ขึ้นเรื่อย ๆ ตามห่วงโซ่ทรัพยากรที่เราไป
ฉันค่อนข้างมั่นใจว่า SQL สามารถรับมือกับตารางขนาดใหญ่ได้ แต่ฉันไม่แน่ใจว่าการอ่านและการเขียนจะทำให้ช้าลงอย่างไร ตัวอย่างข้างต้นอาจไม่ได้อธิบาย แต่ api ของฉันจะมีการเขียนเพิ่มขึ้นและอ่านเพิ่มเติมลงในห่วงโซ่ทรัพยากรที่เราไป ฉันจึงมีสถานการณ์ที่ตารางที่ใหญ่ที่สุดในฐานข้อมูลของฉันจะถูกอ่านและเขียนลงในตารางมากกว่าตารางที่เล็กกว่า
นอกจากนี้ยังจำเป็นต้องเข้าร่วมตารางก่อนเรียกใช้แบบสอบถาม เหตุผลก็คือฉันอนุญาตให้ผู้ใช้แต่ละคนมีชื่อลูกค้าเหมือนกัน เพื่อหลีกเลี่ยงการรับข้อมูลไคลเอนต์ที่ไม่ถูกต้องตารางผู้ใช้และตารางไคลเอ็นต์จะถูกรวมโดย {userID} นี่เป็นกรณีขาย การเข้าร่วมตารางขนาดใหญ่และการอ่านและเขียนจะทำให้ช้าลงหรือไม่