mysql的Ft_hints: no_ranking

是不是发现找遍全网也没有找到相关资料?

巧了,我也是,所以我这里来进行一次大胆分析(基本靠猜)


在使用mysql的fulltext索引(全文索引)时,使用explain则会在extra中出现这句提示:Ft_hints: no_ranking

我们先看看mysql官方怎么说:

– Also, if avoiding the rank information in the projection (SELECT clause) and using other aggregations like count(*), will use the “no ranking” FT_hints. The LIMIT hint won’t be used if invoked explicitly an ORDER BY and the MATCH clause in the projection.
– 引用:https://blog.pythian.com/mysql-innodbs-full-text-search-overview/

大概意思就是在使用聚合函数之类的时候就会出现no ranking

接下来就是大胆猜测了

mysql的全文索引也是基于倒排索引的,所以他也是无序存储着的,
所以在返回搜索结果时都要根据相关度来进行排序,也就是ranking,
但是如果你使用了聚合函数,例如count(*)或者group by这些,那么你的结果就只有聚合之后的那一行了,既然只有一行,那肯定就不用排序啦,也就是no ranking


所以我猜测Ft_hints: no_ranking意思就是你使用了聚合函数,因此不需要进行排序的意思

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值