1
我有一个API服务,它使用odbc_connect
,odbc_exec
从数据库加载数据。PHP没有关闭与数据库的连接(odbc)
我有一个100行查询,我决定移动到存储过程。服务请求的数量约为每秒10个。
那么,什么是问题:当使用像SELECT smthng
这样的常规查询一切正常,当在一个过程中使用相同的SELECT
服务开始响应很慢。它会导致数据库中的许多打开的连接无法关闭。
我试过odbc_close_all
之后直接odbc_exec
和odbc_fetch
- 没有帮助。
SELECT count(*)
FROM master..sysprocesses
WHERE suid > 0
返回约500个连接。
我也试图设置
SET PROC_RETURN_STATUS OFF
也没有帮助。
但是我只在得到结果后才关闭连接。在这种情况下会失败吗? – Daria
所以..从PHP你执行调用存储过程,获得结果,关闭连接,并且它不关闭(执行存储过程后)?在这种情况下你使用交易吗? –
不,你是什么意思“交易”?我的查询是'EXECUTE procName $ param'; – Daria