我正在創建一個Innodb表格,有四列。MySQL Innodb:大型複合PK沒有其他索引
表
column_a (tiny_int)
column_b (medium_int)
column_c (timestamp)
column_d (medium_int)
Primary Key -> column_a, column_b, column_c
從邏輯的角度看,列A,B,C必須被製作成PK together.However,以提高性能,並能直接從索引讀取(使用索引)我我正在考慮一個由所有4列(A,B,C,D)組成的PK。
問題
會表現爲附加額外的列上一個InnoDB表的主鍵是什麼?
注意事項
- 代理主鍵是絕對不可能
- 沒有其他的指標將在此表中存在的
- 表讀/寫密集型(均爲約等於)
謝謝!
將'column_d'添加到您的PK中意味着只要'column_d'不同,就可以在'(column_a,column_b,column_c)'中具有相同值的多個記錄。另外,爲什麼不能在表中添加其他索引:如果你想要一個覆蓋索引,爲什麼不加一個*除了PK?請記住,**過早優化是所有惡意的根源** - 您是否真的遇到了您想要解決的性能問題?如果是這樣,那是什麼? – eggyal
用'column_d'非常好的一點,我問是否有一個經驗法則或一些指導原則。有很多桌子有大PK,我希望得到指導。謝謝 – ProfileTwist