我有一些代码,其中包含一个与服务器建立连接的变量:
$conn = oci_connect();
我查看了整个脚本,没有其他函数使用$ conn变量(相信我)。但是,当我把它拿出来时,脚本会一直运行。这是为什么?
虽然没有使用这个特定的$ conn,但我在脚本中使用了其他函数,使用oci_connect()以相同的方式建立连接。我想说通过这些其他函数(创建自己的$ conn = oci_connect())可能会有超过一百次调用oci_connect()。可以在我的脚本中声明$ conn = oci_connect()可以节省一些性能时间,允许调用oci_connect()的函数使用已经定义的变量吗?
答案 0 :(得分:0)
在同一个脚本中重用数据库操作的连接听起来是个好主意。你为什么不呢?毕竟,您使用相同的凭据连接到同一个数据库....不是吗?
答案 1 :(得分:0)
Oracle连接可能比其他DBMS等效时间更长,但它不会“永远”。此外,手册clearly says表示:
对oci_connect()的第二次和后续调用具有相同的 参数将返回从第一个返回的连接句柄 呼叫。这意味着一个句柄中的事务也在另一个句柄中 处理,因为它们使用相同的底层数据库连接。
假设这样的线是一个性能技巧是相当冒险的恕我直言。你刚刚继承了一些意大利面条代码,就像大多数意大利面条代码一样,它只是纯粹的机会。