我有一张表,必须在 mysql 中存储数百万个帖子(在不久的将来)。这是简化的结构(我没有指出我的主键,因为我的问题是基于此的):
CREATE TABLE `posts` (
`post_id` INT NOT NULL AUTO_INCREMENT,
`user_id` BIGINT(20) NOT NULL,
`title` VARCHAR(100),
`content` TEXT
) ENGINE = MyISAM;
我的问题是:定义密钥的最佳方式是什么?
考虑到需要存储的记录数量,最好仅将 my
AUTO_INCREMENT
ing ' ' 用作主键和唯一键吗?post_id
我必须同时使用 '
post_id
' 和 'user_id
' 作为复合键才能用作主键和唯一键吗?如果这是最好的,我如何在其他表中使用它作为外键?我是否只是将它们添加为这些表中的列?
您能否还指出每个的优点和缺点(如果有),也许还有一些关于使用哪种 ENGINE 的建议。如果我使用第二个选项,我认为 Innodb 会是最好的。我不知道。