相关疑难解决方法(0)

在PDO中使用持久连接有什么缺点

在PDO中,可以使用该PDO::ATTR_PERSISTENT属性使连接持久化.根据php手册 -

持久连接不会在脚本末尾关闭,而是在另一个脚本使用相同凭据请求连接时进行高速缓存和重新使用.持久连接缓存允许您避免每次脚本需要与数据库通信时建立新连接的开销,从而产生更快的Web应用程序.

本手册还建议在使用PDO ODBC驱动程序时不要使用持久连接,因为它可能会妨碍ODBC连接池过程.

显然,除了在最后一种情况下,在PDO中使用持久连接似乎没有任何缺点.但是,我想知道使用这种机制是否存在任何其他缺点,即这种机制会导致性能下降或类似的情况.

php pdo

174
推荐指数
5
解决办法
6万
查看次数

完全理解PDO ATTR_PERSISTENT

题:

使用PDO时,持久连接管理背后的规则/逻辑是什么?


环境:

网络服务器

  • Windows 7 x64
  • 双核,16GB RAM
  • Apache 2.2.17
  • PHP 5.3.5
  • 通过DSN字符串连接IP地址,端口,服务名称等...
  • 没有用于DB conn的ODBC(现在尝试创建一个2小时,感谢Oracle!)

DB服务器

  • Linux上的Oracle 10g
  • 多核,4GB RAM
  • 专门为我的网络应用创建的用户名(是的,这是假的)
    • user:webuser

我的理解/观察:

非持久连接

<?php

// Open a new connection
// Session created in Oracle
$dbh = new PDO('DSN', 'webuser', 'password');

// webuser is active in v$session with a SID=1

$dbh = NULL;

// webuser removed from v$session

// Manually calling $dbh = NULL; will remove the session from v$session
// OR
// Wait for script EOL so a …
Run Code Online (Sandbox Code Playgroud)

php oracle pdo oracle10g

23
推荐指数
1
解决办法
2万
查看次数

标签 统计

pdo ×2

php ×2

oracle ×1

oracle10g ×1