我在具有不同轮询选项的数据库上创建表。还有另一张民意调查表。
我的想法是,给定一个poll_id,我希望尽快获得所有选项。
这是表格列:opt_id, poll_id, opt_text, opt_votes
。
我希望opt_id不是auto_increment而只是轮询中的id(1到N选项),所以对我来说,poll_id和option_id都给出了主键,对吗?
我想要的是拥有一个合适的索引,以便尽可能减少SELECT * FROM options WHERE poll_id=X
这样的查询,但我不知道是否仅通过将主键设置为这两个字段就足够了我必须在某处设置索引。
答案 0 :(得分:0)
对于SELECT * FROM options WHERE poll_id=X
,INDEX(poll_id)
是最佳选择。如果您已经拥有PRIMARY KEY(poll_id)
,那就足够了。 (PRIMARY KEY
是UNIQUE KEY
,INDEX
。)
请提供SHOW CREATE TABLE
;你对表格的描述中有太多的挥手。
向我们展示任何其他SELECTs
;他们可能需要其他索引。