0
動態順序我有一個SQL查詢我在PostgreSQL的運行沿着這行的樣子:(ActiveRecord的生成所以道歉,如果它不是優化的,因爲它可以)索引通過聲明
SELECT DISTINCT items.id,
CASE WHEN items.marker is not null
THEN (items.rating - (educations.cards_done - items.marker))
WHEN items.marker is null
THEN 0
END AS order
FROM items
INNER JOIN educations ON educations.item_id = items.id
WHERE items.active = true
ORDER BY
CASE WHEN items.marker is not null
THEN (items.rating - (educations.cards_done - items.marker))
WHEN items.marker is null
THEN 0
END
LIMIT 10
PostgreSQL中的case語句可以在該訂單上有索引嗎?如果沒有,有沒有其他方法可以加快這個查詢? 感謝您提供任何幫助!