RDS Aurora (MySQL) 表现极差

RDS Aurora (MySQL) performing EXTREMELY poorly

我正在将我们的 Amazon RDS MsSQL 数据库迁移到 RDS Aurora,但我对 Aurora 的性能不足印象深刻。

UPDATE Cars
SET CurrentDriver_id = (
            SELECT Drivers.Id 
            FROM Drivers 
            WHERE Drivers.Car_id = Cars.Id 
            ORDER BY Drivers.Id DESC 
            LIMIT 1)
WHERE Cars.Id BETWEEN 1 AND 500;

我不得不限制为前 500 条记录,这样我什至可以在 Aurora 中看到结果。

即使限制为 500 行,Aurora 也只用了令人难以置信的 55 秒,而 MsSQL 处理所有 70.000 条记录只用了不到 1 秒。 在这种情况下,MsSQL 的执行速度几乎比 Aurora 快 8.000 倍。

本主题的主题不是查询本身,也不是如何改进它。这只是 7 万辆汽车和 22 万名司机的简单更新 运行。它对数据库来说应该没什么。

Cars.Id 和 Drivers.Id 是主键。没有索引也没有外键。

这是预料之中的吗?!

编辑: 1.两个RDS都是db.t2.medium 2. MsSQL 是一个有数百个用户的生产服务器,而 Aurora 只有我一个人。

您可以尝试使用不使用子选择的方法

  UPDATE Cars
  inner join Drivers on Drivers.Car_id = Cars.Id  and Cars.Id BETWEEN 1 AND 500
    SET Cars.CurrentDriver_id = Drivers.Id