比方說,我有人搜索工作,我有一份工作清單。 所以我有兩個表: 人和工作。 現在我有一個人的技能列表,我有一份工作要求的技能列表。一般在數據庫設計中,哪一個表最好有兩個引用或一個表?
更好的是具有一個技能表是這樣的:
CREATE TABLE skills_reference
(
id INT,
reference_id INT, -- can reference people(id) or job(id)
reference ENUM('person','job'),
skill FOREIGN KEY REFERENCE skills(id)
)
,或者有兩個表,一個用於people_skills,一個用於jobs_skills。 哪一個會給出更好的性能結果?
謝謝。
+1對於數據模型的強調 - 一個明確定義的數據模型應該在設計之前就可以滿足可能不需要的性能要求。 (如果需要非常好的性能,那麼無論如何都需要一些輔助數據模型) – 2009-12-31 13:03:18