首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中找到条目的百分位数分数的时间复杂度是多少?

在MySQL中找到条目的百分位数分数的时间复杂度是多少?
EN

Stack Overflow用户
提问于 2015-07-18 14:38:35
回答 1查看 107关注 0票数 0

我们有一个动态集合(每隔几分钟就会发生排名变化)。我们希望显示用户的百分位数分数。

在MySQL中查找用户的等级/百分位数的时间复杂度是多少?(假设整个索引都在RAM中,忽略所有磁盘查找)

MySQL是否在索引中存储额外的信息以更快地计算?

我使用的查询:

代码语言:javascript
复制
SELECT COUNT(*) FROM score_table WHERE score>X"

SELECT COUNT(*) FROM score_table;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-23 23:21:18

对于此查询:

代码语言:javascript
复制
SELECT COUNT(*)
FROM score_table
WHERE score > X;

我非常肯定,MySQL从"X“后面的值开始扫描索引。我不认为它对索引中的叶大小进行了优化。因此,这个操作将是O(n),但是速度很快,因为索引在内存中。

如果分数变化如此之快,就很难找到一个很好的数据结构来计算排名。根据分数变化的多少,可能会有一些优化查询的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31492251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档