我一直致力于性能敏感的功能。我一直在本地开发,在我的 Mac 上运行 MySQL 服务器。一键查询在我的机器上运行时间约为1.2秒,在我可以接受的范围内。一切都运行得足够快,因此我决定将其转移到 AWS RDS Aurora 数据库上,以便我可以开始在生产中使用新系统。
但是,一旦我开始连接到 RDS 而不是本地服务器,查询的时间就开始增加两倍以上。这是比较实际查询运行所需的时间,不受网络速度的影响。我就是这样测量的。
我已将 RDS 使用的实例升级为db.r3.4xlarge,该实例具有 122 GB RAM、Intel Xeon E5-2670 v2 (Ivy Bridge) 和 16 个 vCPU。我的本地机器有 32 GB 内存和 4 GHz Intel Core i7。
我对这些东西了解不多,但无论您查看什么指标,云中的数据库似乎都在更强大的硬件上运行。
主要问题:我还可以研究什么才能使云数据库像本地计算机一样快速运行?
看似合理但事实并非如此的事情:
explain在查询开始时使用会在两个数据库上产生完全相同的索引计划。可能是因素,但我真的不知道:
我真的有点不知所措。如果有人有任何想法或建议,我们将不胜感激!