سؤال

أريد أن أعرف التي ستكون الأفضل. أواجه جدول يقول إن وجود Col1 (هو مفتاح أجنبي FK1)، COL2 (هو أيضا Keyfk2). هل يمكنني استخدام PK AS (COL1، COL2) أو PK تم إنشاؤه حديثا. سيكون للاستعلامات FK1 في المعايير و FK2 في الانضمام. يرجى اقتراح لي أفضل واحد.

PS أنا أستخدم mysql

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

المحلول

إذا كان هذا هو جدول رابط كثير إلى كثير، استخدم فقط (col1, col2) ك PK.

مفاتيح أجنبية في MySQL لمح InnoDB وهو مؤشر نظمت، وهذا يعني أن الطاولة نفسها ستكون PRIMARY KEY وسيتم طلب سجلاتها.

إذا كنت أيضا ذاهبون للبحث عن col2 واستخدام col1 في الانضمام، ستحتاج إلى إنشاء مؤشر ثانوي إضافي (col2). وبعد سيشمل هذا الفهرس ضمنا PRIMARY KEY القيم كمؤشرات تسجيل، وبالتالي، ستكون في الواقع وفهرس (col2, col1, col2).

نصائح أخرى

كما قال آخرون - إذا كان هذا هو جدول ربط، فاستخدم Col1، Col2 كما PK. إذا كان من ناحية أخرى، يمكن ربط هذا الجدول أيضا، ثم قم بإنشاء مفتاح جديد خاص به. يمكنك أيضا وضع قيود فريدة على زوج Col1، Col2 زوج.

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