PHP没有关闭与数据库的连接(odbc)

时间:2016-11-09 14:07:09

标签: php odbc sybase-ase

我有一个API服务,使用odbc_connectodbc_exec从数据库加载数据。

我有一个100行的查询,我决定转移到存储过程。服务请求的数量大约是每秒10个。

那么问题是什么:当使用像SELECT smthng这样的常规查询时,一切正常,当在过程服务中使用相同的SELECT时,响应速度非常慢。它导致数据库中许多已打开的连接无法关闭。

我在odbc_close_allodbc_exec之后直接尝试odbc_fetch - 没有帮助。

SELECT count(*)
FROM master..sysprocesses
WHERE suid > 0

返回大约500个连接。

我也尝试设置

SET PROC_RETURN_STATUS OFF

也没有帮助。

1 个答案:

答案 0 :(得分:1)

来自manual的网页说:

  

如果此处有打开的交易,此功能将失败   连接。在这种情况下,连接将保持打开状态。

我认为它解释了你所面临的行为。 我认为当存储过程完成它的工作时,losted连接将会死亡。 无论如何,你的案子需要进行一些研究。