我有一個表格,其中包含以下字段:userid,logintime,birthdate
我需要獲取所有用戶之間的出生日期X和Y,先訂購最近登錄的用戶。mysql查詢結果訂單問題
SELECT *
FROM table
WHERE birtdate BETWEEN x AND Y
ORDER BY logintime DESC
如果我定義上只是birtdate索引,MySQL的會使用文件排序命令,我想避免的結果(表越來越大,查詢是受歡迎)。
定義索引(logintime,出生日期)沒有任何意義,我因爲logintime甚至不是在WHERE子句(我只將結果限制由生日設置)
在mysql中的任何優雅的解決方案?
目前該指數僅在生日,但文件排序開始沼澤數據庫下來。索引用於BETWEEN,所以這不是問題。我希望在mysql中有一個解決方案,不需要附加組件(memcache)等。 – Rado
你會嘗試索引birtdate,logintime(如上所述,順序很重要,登錄時間索引,birtdate不能滿足查詢) –