如何在不关闭数据库连接的情况下从 DBAL 查询中释放数据但不获取数据?
How do I release the data from a DBAL query but not fetched without closing the database connection?
我在 Symfony 2.8 版中使用 DBAL 和 PHP 从我的数据库中查询数据,但是在我得到结果并且不再需要它们之后我想释放可能被缓存和等待的数据让我找回它。
// 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.
可能有很多行缓存数据等待从数据库服务器检索,占用了我不想浪费的资源。如何释放未获取的查询数据?
我不想关闭数据库连接,因为我将使用它来 运行 这个或其他查询,直到用户退出我的网络应用程序或会话超时。
谢谢
如原文评论中所写post
$query->closeCursor()
可用于允许 DBAL(和底层连接)在不关闭连接的情况下释放挂起数据占用的内存。
我在 Symfony 2.8 版中使用 DBAL 和 PHP 从我的数据库中查询数据,但是在我得到结果并且不再需要它们之后我想释放可能被缓存和等待的数据让我找回它。
// 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.
可能有很多行缓存数据等待从数据库服务器检索,占用了我不想浪费的资源。如何释放未获取的查询数据?
我不想关闭数据库连接,因为我将使用它来 运行 这个或其他查询,直到用户退出我的网络应用程序或会话超时。
谢谢
如原文评论中所写post
$query->closeCursor()
可用于允许 DBAL(和底层连接)在不关闭连接的情况下释放挂起数据占用的内存。