我有一个查询,它是用于报告目的的大型数据集。目前,我假设为执行时间的 MySQL 工作台中显示的“持续时间”约为 7 秒,因此已进行了相当优化。它返回了区区 6000 行,但根据“获取”时间返回它们需要将近 150 秒。
现在,有超过 50 列,这可能解释了一些速度,但是当我将数据集提取到电子表格中时,结果大约是 4MB。我当然不是专家,但我没想到 4MB 需要 150 秒才能通过管道返回。我继续在 localhost 设置上执行相同的查询,以消除网络问题。结果一样!执行大约需要 7 秒,在同一台机器上返回数据需要 150 秒。
此报告预计将按需实时运行,因此让最终用户等待 2 分钟对于此用例是不可接受的。如何缩短从 MySQL 返回数据所需的时间?
更新:谢谢大家开始为我指明正确的方向。事实证明,工作台中的“持续时间”和“获取”非常不准确。我经历的两分钟都是执行时间,实际上我的查询需要优化。再次感谢,这让我摸不着头脑。我再也不会依赖这些指标了……