首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与本地服务器上的MariaDB相比,RDS MySql上的性能较低

与本地服务器上的MariaDB相比,RDS MySql上的性能较低
EN

Stack Overflow用户
提问于 2021-01-12 09:35:27
回答 1查看 61关注 0票数 1

我正在试图弄清楚要看什么,以试图理解为什么我看到在AWS RDS MySql数据库上的COUNT WHERE查询与在本地CentOS服务器上运行的MariaDB数据库上的相同查询相比,性能要慢得多。

这些查询如下所示:

代码语言:javascript
运行
复制
SELECT COUNT(serial) FROM devices
    WHERE device_family="foo"
      AND serial > 1000
      AND serial < 10000000;

在本地实例上,即使设备系列有200M左右的记录,类似这样的查询也会在很短的时间内返回。在RDS上,这需要很多分钟。

我的DB经验有限,我想知道如何理解这里发生的事情。

RDS实例是db.m5.xlarge,4 vCPU,16GBRAM,预配置IOPS (SSD) 1000IOPS。我将IOPS提高到10K,但只看到了适度的改进。

相关表中的数据从本地服务器迁移到RDS,本质上是相同的:1.50M条记录,只有几个字段,没有关系或外键(它是数据库中唯一的表)。

索引(显示中的索引)是一致的。

不确定还有什么是相关的,或者从这里开始要去哪里?

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-12 09:52:39

您的本地实例和RDS实例之间可能存在差异的原因有很多。除了在两种环境中对查询运行EXPLAIN之外,您还可以考虑添加以下索引:

代码语言:javascript
运行
复制
CREATE INDEX idx ON devices (device_family, serial);

如果使用此索引,将完全覆盖WHERE子句,并应加快查询速度。您还可以尝试交换索引中这两列的顺序。

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

https://stackoverflow.com/questions/65676890

复制
相关文章

相似问题

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