[SQL ] 這樣設計pk是不是多此一舉??
各位大大~
小弟設計一個table如下,
CREATE TABLE HET_01
(
IDX INT NOT NULL AUTO_INCREMENT,
SEQ_NUM INT NOT NULL,
PDB_ID CHAR(4)NOT NULL,
CHAIN_ID CHAR NOT NULL,
...(以下為其他不重要的欄位)…
HET_ID CHAR(3)NOT NULL,
ICODE CHAR NOT NULL,
NUM_HET_ATOMS INT NOT NULL,
....
)
其中 IDX是auto產生的,可只單用idx來當pk
而事實上(SEQ_NUM ,PDB_ID,CHAIN_ID)三者同時參照就能當pk,
小弟在想加了idx是不是多此一舉,
想加的理由只是用int當pk是不是會比三者同時參照pk會快??
如在search時?
但,該table與其他table間的relation頻率,
機乎是靠(SEQ_NUM ,PDB_ID,CHAIN_ID)找相關連,
如group by PDB_ID…等之間的統計,
所以小弟想問,IDX這欄位需要加嗎,
還是只要以(SEQ_NUM ,PDB_ID,CHAIN_ID)當PK??
還是PRIMARY KEY(IDX,SEQ_NUM ,PDB_ID,CHAIN_ID),
or PRIMARY KEY(SEQ_NUM ,PDB_ID,CHAIN_ID),會比較明顯的提高效能?
請大大們指教~感謝
PS.此TABLE資料量約100萬筆
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.86.49
推
02/16 16:14, , 1F
02/16 16:14, 1F