我在一个包含 250 000 行的 Amazon RDS 实例上有一个 MySQL 表。当我尝试
SELECT * FROM tableName
没有任何条件(仅用于测试,普通查询指定了我需要的列,但我需要其中的大部分),查询需要 20 到 60 秒才能执行。这将是我的报告的基本查询,报告应该在 60 秒内运行,所以我认为这不会成功(我添加连接时它超时)。该报告在我们较小的测试环境中运行没有任何问题。
是不是因为 MySQL 试图锁定表并等待所有写入完成,所以查询花费了这么长时间?这张桌子上可能有很多写。我正在对 MySQL 从站进行查询,因为我不想用我的查询锁定生产系统。
- 我没有关于关系数据库有多少行的经验。大约 30 列(varchar、日期和整数类型)的 250 000 行是否很多?
- 我怎样才能加快这个查询(硬件、软件、查询优化......)
- 我可以告诉 MySQL 我不在乎数据可能不一致(这是来自报告数据库的快照)
- 此查询是否有可能在 60 秒内运行,还是我必须调整我的目标?