Python SQL cursor/fetch:数据库查询何时完成运行?



我有一个关于python IBM_DB包的问题(但我认为它可以应用于任何使用连接/游标逻辑的包,即pyodbc)。

当调用cursor.execute()方法时,它在数据库上执行一个sql查询。但是,要访问这些数据,您需要使用fetchall()/其他获取方法。我想对数据库的命中进行计时。

查询是否在执行级别完全完成运行,并且它只是在内存中供python读取?还是fetch方法继续调用数据库?我已经仔细阅读了文档,但找不到关于这个主题的任何明确的内容。

大多数或所有Db2开放源码驱动程序都基于调用级接口(CLI)。CLI函数和细节是整个Db2文档的一部分。来自ResultSet的Fetch()会再检索一行。结果集可以缓存或返回到引擎。引入几行(几十行)是有意义的,但对于数百万行来说就没有意义了。

你需要洞察和理解驱动程序和数据库查询处理是如何工作的,以便测量有用的东西并正确地解释它。

顺便说一句:有某种形式的CLI跟踪可用。

最新更新