我相信這對很多人來說都是簡單的東西,所以我希望您能夠輕鬆地提供幫助。MySQL - 在「一對多」關係的「許多」方面聚集索引
如果我有一個「多」側的MySQL表「一對多」的關係 - 是這樣的:
Create Table MyTable(
ThisTableId int auto_increment not null,
ForeignKey int not null,
Information text
)
由於該表將始終通過使用一個連接使用ForeignKey的,它會將ForeignKey設置爲聚集索引似乎很有用,這樣外鍵總是可以在相同的源記錄中進行相鄰排序。但是,ForeignKey並不是唯一的,所以我認爲要將它作爲聚集索引是不可能的或不好的做法?如果我嘗試使用(ForeignKey,ThisTableId)來創建組合主鍵以實現有用的集羣和唯一性,那麼會出現錯誤「只能有一個自動列,並且必須將其定義爲鍵」。
我想也許我正在接近這個錯誤的,在這種情況下,什麼是最好的方式來索引上表的最大速度?
我懷疑你是過早過度優化你的數據結構。 'ForeignKey'的索引應該沒問題。 'ThisTableId'應該聲明爲'主鍵'。 – 2014-09-29 15:54:30