0
我需要从MySQL表中取一个匹配简单条件的随机行。该表有一个主自动递增的关键,所以这是我在做什么:优化随机mysql行取指性能
SELECT v FROM tbl WHERE pkey>$rand_num AND tiny_int_var=0 LIMIT 1
的原因,我在做pkey>$rand_num
代替pkey=$rand_num
是因为我的自动递增有洞的时候。有什么办法来优化这个查询或获取一个随机行diff +更快?
您定义了哪些索引?特别是,你有''(tiny_int_var,pkey)''定义的复合类型吗? – eggyal
我很确定你会得到同一行返回任何时候$ rand_num是相同的。 – AbraCadaver
@eggyal我实际上有(pkey,tiny_int_var)。在EXPLAIN中我已经注意到他只使用了pkey索引,尽管这个组合在possible_keys中。你认为这会有帮助吗?你如何确定它是(x,y)而不是(y,x)? – Noam