0

我有下表,我想知道如何在选择时为该表创建最有效的索引系统。这些行一旦插入就永远不会更新。

CREATE TABLE `games_characters` (
  `game_id` int(11) DEFAULT NULL,
  `character_id` int(11) DEFAULT NULL,
  KEY `games` (`game_id`),
  KEY `characters` (`character_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

或者这样的事情会更好:

CREATE TABLE `games_characters` (
  `game_id` int(11) DEFAULT NULL,
  `character_id` int(11) DEFAULT NULL,
  PRIMARY KEY `game_to_characters` (`game_id`, `character_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

还是有第三种更好的选择?

games_characters一个单曲永远不会超过 10 个,game而且一旦插入它们就不会再改变。

谢谢

4

1 回答 1

3

我想第二个选项会正常工作。但是如果 game_id 和 character_id 是主键,它们不能是“DEFAULT NULL”。我希望它是有帮助的。

编辑:MyISAM 引擎查询速度很快。

于 2013-01-23T16:45:14.280 回答