ฉันเริ่มทำงานกับโครงการที่มีอยู่และผู้พัฒนาคนก่อนหน้าได้แบ่งตารางออกเป็น 10 ตารางแยกกันด้วยสคีมาที่เหมือนกัน แต่มีข้อมูลต่างกัน
ตารางมีลักษณะดังนี้:
[tableName_0]
[tableName_1]
[tableName_2]
[tableName_3]
[tableName_4]
[tableName_5]
[tableName_6]
[tableName_7]
[tableName_8]
[tableName_9]
คีย์หลักคือid
ฟิลด์จำนวนเต็ม แอปพลิเคชันใช้อัลกอริทึมแฮช ( id
mod 10) เพื่อให้ทราบว่าตารางใดที่จะเข้าถึงเมื่อทำการค้นหา ตัวอย่างid
= 10 [tableName_0]
จะส่งผลให้
เมื่อรวมกันแล้วตารางอาจมี 100,000 แถวและอัตราการเติบโตค่อนข้างต่ำ
ดังนั้นคำถามของฉันคือว่านี่เป็นทางออกที่ทำงานได้หรือไม่แม้ว่ามันจะเป็นแนวปฏิบัติที่ดีในทุกสถานการณ์ ทฤษฎีของฉันคือการผลักดันให้พวกเขารวมกันเพราะมันจะทำให้สิ่งต่าง ๆ ง่ายขึ้นเท่าที่UNION
s ฯลฯ ไป ข้อเสียเปรียบหลักคือการเปลี่ยนรหัสแอปพลิเคชันทั้งหมดและไม่ว่าจะคุ้มค่าในระยะยาวหรือไม่