【发布时间】:2014-10-25 20:15:25
【问题描述】:
我目前拥有的是:
CREATE TABLE IF NOT EXISTS members (
user_id INTEGER UNSIGNED NOT NULL,
group_id INTEGER UNSIGNED NOT NULL,
status TINYINT DEFAULT 1,
role TINYINT DEFAULT 0,
created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT mem_pk PRIMARY KEY (user_id, group_id),
KEY (status)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8;
我将用户分配到组(唯一用户和组组合的一行),但我希望能够单独搜索 user_id 和 group_id,所以我应该为字段添加键:
KEY (user_id),
KEY (group_id)
这样做会有所收获吗?
事实上,我永远不会同时搜索user_id 和group_id,所以我什至需要主键吗?
还有几千万行时这个表上的任何 cmets 性能?
【问题讨论】: