我有下面的表,我想知道如何在selects上为这个表建立最有效的索引系统。一旦插入行,它们将永远不会被更新。
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;或者还有第三个更好的选择?
单个game的games_characters永远不会超过10个,而且一旦插入,它们也不会改变。
谢谢
发布于 2013-01-24 00:45:14
我想第二个选择会很好用。但是如果game_id和character_id是主键,那么它们就不能是“默认NULL”。我希望它能对你有所帮助。
编辑: MyISAM引擎的查询速度很快。
https://stackoverflow.com/questions/14484411
复制相似问题