我有一个到MySQL数据库的PDO连接。使连接快速闪亮。随后我运行一个非常复杂的查询1(使用临时表,SELECT,INSERT和其他所有后续操作),它运行得非常快(大约0.1秒)。我知道这个查询1每次都成功执行。
在代码中更进一步我打开一个新的PDO连接来做一个简单的SELECT语句。这个SELECT语句似乎没有获取任何结果(如果复杂的查询1成功完成,它只会获取结果)。
当我之前打开一个连接来执行复杂的查询时,我想我必须先关闭那个。我添加了以下代码来取消连接。这有帮助。但是,我现在可以看到只运行一段代码需要几分钟:unset($ stmt);
$ stmt = $ pdo-> prepare($ QUERY);
$ stmt->执行();
未设置($语句);
未设置($ PDO);
可能是我的复杂查询在后台运行,而我认为它已经完成了,但实际上并非如此?
我的问题是:为什么执行这段代码:unset($ stmt);花了这么长时间?
答案 0 :(得分:0)
我正在执行的查询花了太长时间,并且在php解析器继续运行时仍然在后台运行。