2010-02-04 43 views
1

我想知道哪個是最好的。 我有一張表說A有col1(是外鍵fk1),col2(也是外鍵keyfk2)。 我可以使用PK作爲(col1,col2)還是新生成的PK。 查詢將在條件中具有fk1並且在連接中具有fk2。 請建議我一個最好的。我用mysql複合鍵或新的獨特鍵

+0

這只是一個鏈接表嗎? – froadie 2010-02-04 16:04:25

回答

2

如果這是一個許多一對多連接表

P.S,只需使用(col1, col2)PK

MySQL中的外鍵意味着InnoDB它是索引組織的,這意味着表本身將是PRIMARY KEY,它的記錄將被排序。

如果您還要搜索col2並在連接中使用col1,則需要在(col2)上創建附加的二級索引。該索引將隱含地包括作爲記錄指針的PRIMARY KEY值,因此實際上將是(col2, col1, col2)的索引。

0

正如其他人所說 - 如果這是一個鏈接表,使用col1,col2作爲PK。另一方面,如果該表也可以鏈接到TO,則創建它自己的新密鑰。您也可以對col1,col2對設置一個唯一的約束。