何百万もの投稿を (近い将来) 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
を複合キーとして使用して、主キーおよび一意のキーとして使用する必要がありますか? これが最善の場合、他のテーブルで外部キーとして使用するにはどうすればよいですか? これらのテーブルに列として追加するだけですか?
また、それぞれの長所と短所 (ある場合) と、使用するエンジンに関するアドバイスを教えてください。2番目のオプションを使用する場合、Innodbが最適だと思います。知らない。