0

我正在尝试运行原始 SQL 语句来获取一些数据以进行报告。查询本身很大,执行大约需要 2 秒。当我删除查询中的“GROUP BY”以使其更快时(当然在这种情况下,我将在 Python 代码中处理分组),查询在 SQLYog 中运行大约 0.036 秒。但是,如果没有分组,它会返回大约 300K 行(与有分组的 ~200 行相比)。

无论如何,在我的代码中运行查询时,在没有分组的情况下完成大约需要 60 秒。虽然完成分组大约需要 2 秒。我不确定,但我相信这种时间差异是由于返回的行数造成的。

所以我的问题是:我的理解正确吗?是因为我们有一个没有“GROUP BY”的大型数据集,它需要大约 60 秒吗?而且,我可以在 Python 中做些什么来加快速度吗?SQLYog 和我的 Python 应用程序之间的差异是巨大的...... 0.036 秒到 60 秒??!! 奇怪的。

我使用这样的原始查询执行来运行我的查询: db.session().execute(sql, {"param1": value1, "param2": value2, "param3": value3})

我的查询有很多连接,并且表确实在被连接的列上有索引。

谢谢

4

0 回答 0