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语句可以在该订单上有索引吗?如果没有,有没有其他方法可以加快这个查询? 感谢您提供任何帮助!