首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是什么导致MySQL基数降低?

是什么导致MySQL基数降低?
EN

Stack Overflow用户
提问于 2014-07-18 05:11:24
回答 1查看 357关注 0票数 1

在我们的生产MySQL系统中,我们有一些查询通常需要不到2秒的时间来执行,但有时它们会运行一分钟以上。每次这些查询中的一个长时间运行时,我们检查索引,发现基数已经落在相同的VARCHAR(25)字段上。我们将MySQL作为具有多个从服务器的主服务器集群来运行,我们会发现,仅在速度较慢的系统上,基数有所下降,而在所有其他服务器上,该值将保持较高。当数值下降时,它将从大约20k-30k (高值)下降到只有几百。运行ANALYZE TABLE命令修复了基数,并将其备份到20k-30k,查询再次快速运行。

我已经开始监控所有表上的基数,看看这个值是如何随时间变化的。我知道基数会随着新数据的增加而上升,我希望它会随着记录的删除而下降,但这个表很少删除记录,但每次我查看它时,值都会上升和下降。

MySQL 5.5.8 InnoDB

CentOS 5.7

你知道我应该找什么吗?COUT(*) = 402259

EN

回答 1

Stack Overflow用户

发布于 2014-07-18 05:25:26

InnoDB表的统计数据是近似的,不准确。因此,如果您想知道字段的确切基数,可以运行以下查询:

代码语言:javascript
复制
SELECT COUNT(DISTINCT field_name) FROM table_name
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24813604

复制
相关文章

相似问题

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