我在网上查了一下,但找不到解决这个问题的办法。我有个问题:
SELECT *
FROM profile
ORDER BY CASE WHEN country_geoname_id = 2635167
THEN 1 ELSE 0 END DESC,
score DESC
我想知道是否可以通过避免文件排序来优化这个查询。我为这些列创建了一个索引( country_geoname_id
以及 score
),但没用。
解释选择:
我在网上查了一下,但找不到解决这个问题的办法。我有个问题:
SELECT *
FROM profile
ORDER BY CASE WHEN country_geoname_id = 2635167
THEN 1 ELSE 0 END DESC,
score DESC
我想知道是否可以通过避免文件排序来优化这个查询。我为这些列创建了一个索引( country_geoname_id
以及 score
),但没用。
解释选择:
1条答案
按热度按时间mutmk8jj1#
当你把你的订单条件放在一个函数中时,你就不能满足它。
什么使sql语句是可搜索的?
如果要使用索引,请创建一个附加的布尔字段
isMyCountry
并为其创建索引然后你的问题变成: