我有如下表:在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上發佈一個例子嗎? –