[SQL ] 這樣設計pk是不是多此一舉??

看板Database作者 (alow￾N ￾N)時間18年前 (2008/02/16 14:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
各位大大~ 小弟設計一個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
join只用一個跟用三個比當然快,但實際狀況我看不太懂
02/16 16:14, 1F
文章代碼(AID): #17je64rW (Database)