PHP的query timeout對於lock中的tbale是否有效
之前有介紹過 如何設定 sybase 的 lock timeout ,將FreeTDS更新到0.91後,順便測試當資料庫發生鎖定時,query timeout是否能夠強制程式中斷,程式不會因此卡住?依舊同時測試MS SQL、及Sybase。 測試的假設狀況為…刻意將測試用table產生lock,同時以php程式去查詢已經被lock的table,該主機上使用FreeTDS 0.91,並且設定了query timeout為五秒(請參考 php存取mssql、sybase時,如何設定query timeout )。 測試的結果…FreeTDS果然對於這兩家資料庫的處理不同… MS SQL:查詢超過五秒後,查詢被中斷,控制權回到程式(不需設定lock timeout) Sybase:查詢超過五秒後,程式依舊卡住。(除非將lock的table解除lock,或設定lock timeout。控制權才會回到程式) 當然, FreeTDS 對於MS SQL的處理行為,是比較符合預期的… 在測試過程中,無意間發現一個現象…