作者alowchun (alowN N)
看板Database
标题[SQL ] 这样设计pk是不是多此一举??
时间Sat Feb 16 14:24:01 2008
各位大大~
小弟设计一个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
1F:推 grence:join只用一个跟用三个比当然快,但实际状况我看不太懂 02/16 16:14