سؤال

لدي 8 مجموعات من البيانات من حوالي 000 30 صف لكل مجموعة، والبيانات هي نفس هيكل لغات مختلفة فقط.

الطرف الأمامي للموقع سيحصل على حركة مرور عالية نسبيا.

لذلك فإن سؤالي فيما يتعلق بأداء MySQL، إذا كان يجب أن يكون لدي جدول واحد مع عمود واحد لتمييز مجموعة البيانات التي تنتمي إليها (IE Coloumn "اللغة") أو إنشاء جداول فردية لكل مجموعة لغة؟

(شرح حول السبب في أنه إذا كان ذلك ممكنا سيكون مفيدا حقا)

شكرا مقدما شادي

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

المحلول

سأذهب مع تصميم طاولة واحدة. تسعى وقتا، مع الفهرس الصحيح، يجب أن يكون بالضبط نفس الشيء، بغض النظر عن الجدول "الواسع".

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

نصائح أخرى

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

عمود اللغة يعني أن عليك فقط إضافة بيانات، والتي ليست تدخلية. هذا الأخير هو الطريق للذهاب.

سأذهب مع تصميم الجدول واحد أيضا. نظرا لأن بطاقة Language_key منخفضة للغاية، فسأقسم الجدول عبر اللغات بدلا من تحديد فهرس. (إذا كانت قاعدة البيانات الخاصة بك تدعمها.)

وأنا أتفق مع الردود الأخرى - كنت أستخدم طاولة واحدة. فيما يتعلق بتحسين الأداء، فإن عدد من الأشياء لديها القدرة على الحصول على تأثير أكبر على الأداء:

  • الفهرسة المناسبة
  • كتابة / اختبار كفاءة الاستعلام
  • خانق محرك التخزين المناسب
  • الأجهزة
  • اكتب وتكوين نظام الملفات (ملفات)
  • تحسين إعدادات تكوين MySQL

... إلخ. أنا من محبي عالية الأداء mysql.

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