我在Symfony 2.8版本和PHP中使用DBAL来查询数据库中的数据,但是当我得到结果后,我不再需要它们,我想释放可能被缓存的数据,并等待我去检索。
// I've already opened the database connection somewhere before this code is executed.
$s = 'SELECT * FROM MyTable;';
$conn = $this->get( 'database_connection' );
$query = $conn->executeQuery( $s );
$data = $query->fetch();
// At this point $data contains a row from the database or is FALSE.
unset( $data, $query ); // This will tell php that I don't need these variables.
可能会有很多行的缓存数据等待着从数据库服务器中检索,占用了我不愿意浪费的资源。 我怎样才能释放未取回的查询数据?
我不想关闭数据库连接,因为我将使用它来运行这个或其他查询,直到用户退出我的Web应用程序或会话超时。
谢谢您
就像在原帖的评论中写的那样
$query->closeCursor()
可以用来允许DBAL(和底层连接)在不关闭连接的情况下释放待处理数据占用的内存。