سؤال

لقد استحوذت على قاعدة بيانات تخزن معلومات اللياقة وكان لدينا نقاش حول جدول معين وما إذا كان ينبغي أن تبقى كطاولة واحدة أو تقسيمها إلى ثلاثة جداول.

اليوم ، هناك جدول واحد يسمى: التدريبات التي لها الحقول التالية

id ، extense_id ، ممثلون ، الوزن ، التاريخ ، الشخص _id

لذا ، إذا فعلت مجموعتين من 3 تمارين مختلفة في يوم واحد ، فسوف يكون لدي 6 سجلات في هذا الجدول لذلك اليوم. علي سبيل المثال:

id ، extense_id ، ممثلون ، الوزن ، التاريخ ، الشخص _id
1, 1, 10, 100, 1/1/2010, 10
2, 1, 10, 100, 1/1/2010, 10
3, 1, 10, 100, 1/1/2010, 10
4, 2, 10, 100, 1/1/2010, 10
5, 2, 10, 100, 1/1/2010, 10
6, 2, 10, 100, 1/1/2010, 10

لذا فإن السؤال هو ، بالنظر إلى أن هناك بعض البيانات الزائدة (التاريخ ، الشخص الشخصي ، التمرين) في سجلات متعددة ، في حالة تطبيع ذلك إلى ثلاثة جداول

التدريبات:
- هوية شخصية
- تاريخ
- person_id

التمرين:
- هوية شخصية
- workout_id (مفتاح خارجي في التدريبات)
- تمرين

التدريبات:
- هوية شخصية
- workout_exercise_id (مفتاح خارجي في التمرين)
- ممثلين
- وزن

أظن أن الجانب السلبي هو أن الاستعلامات ستكون أبطأ بعد هذه إعادة البناء كما هو الحال الآن ، سنحتاج إلى الانضمام إلى 3 طاولات للقيام بنفس الاستعلام الذي لم يكن له أي صلة من قبل. تتيح فائدة إعادة النية في المستقبل إضافة حقول جديدة على مستوى ملخص التمرين أو مستوى التمرين مع إضافة المزيد من التكرار.

أي ردود فعل على هذا النقاش؟

هل كانت مفيدة؟

المحلول

لا تفترض أن الاستعلامات ستكون أبطأ بعد التطبيع. تنضم إلى عدد صغير من الجداول رخيصة جدًا إذا تم فهرسة الجداول بشكل صحيح.

من ناحية أخرى ، يمكن أن تنتهي الاستعلامات على طاولة غير طبيعية بسهولة إلى أن تكون أبطأ بكثير. على سبيل المثال ، في المخطط الأصلي الخاص بك ، ببساطة محاولة الاستعلام عن التواريخ المتميزة التي تم إجراء التمرين عليها أكثر تكلفة بكثير مما سيكون مع الإصدار الطبيعي.

بالتأكيد تطبيعها في هذه المرحلة. إذا واجهت مشكلات في الأداء لاحقًا ، فيمكنك البدء بشكل انتقائي في تغيير أجزاء معينة من البيانات بالإضافة إلى المخطط الطبيعي بالفعل. ولكن على الأرجح لن تصل إلى هذه النقطة بقاعدة بيانات صغيرة.

نصائح أخرى

يبدو أن إعادة الطعن الجديدة جيدة ، ولن يكون الأداء كل ما تأثر إذا كان لديك الفهارس المناسبة على الجداول المختلفة. (يمكن إنشاء الفهارس على جميع المفاتيح الأجنبية)

لذا نعم, ، هذا يبدو وكأنه إعادة بناء طبيعية تماما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top