我有如下表:在MySQL中有最近邻居搜索的方法吗?
CREATE TABLE numbert_t (v DOUBLE , id INTEGER, INDEX(v))
,我想做一个查询与paremeter q,在距离ABS排序分(Q - V)。例如
SELECT v, id, ABS(q - v) AS d FROM number_t ORDER BY d
我试过上面的查询,这一个:
SELECT v, id, (v - q) AS d FROM numbers_t WHERE (v - q) > 0
ORDER BY d
我也试过上面的细微变化:
SELECT v, id, (v - q) AS d FROM numbers_t WHERE v > q ORDER BY v
他们是不等价的,但我不”不介意做两个查询,并有两个独立的游标。但是,在所有情况下,EXPLAIN都表示,filesort,不会使用索引。我可以让MySQL以某种方式使用索引来解决这个问题吗?
你可以在sqlfriddle上发布一个例子吗? –