[英]Can Microsoft's SQLSRV driver for PHP run on Apache?
[英]How can I get the last Query's run time with Sqlsrv?
我正在使用PHP 5和sqlsrv數據庫驅動程序。 我將QueryTimeout設置為15秒,因為我反復打了很多不同的服務器,並且如果我打了一次超時,我需要停止操作並打到下一個服務器。
當前,我只是使用一個變量來跟蹤開始時間和結束時間,如果>=
我的QueryTimeout則中止,但是有什么方法可以從sqlsrv驅動程序本身獲取實際的查詢時間? 我沒有在sqlsrv函數列表中看到任何看起來有用的東西 。 我希望能夠獲取上一次查詢的時間,而不是將每個查詢包裝在獲取當前時間的變量中。
因為我不熟悉SQL Server,T-SQL, sqlsrv
等, sqlsrv
只是在黑暗中拍攝。
http://msdn.microsoft.com/en-us/library/ms189741.aspx
似乎您可以SELECT last_elapsed_time FROM sys.dm_exec_query_stats
您可以使用此:
DECLARE @start_time DATETIME, @end_time DATETIME
SET @start_time = CURRENT_TIMESTAMP
sql code here
SET @end_time = CURRENT_TIMESTAMP
SELECT DATEDIFF(ms, @start_time, @end_time)
將其放在查詢的開頭:
SET STATISTICS TIME ON
當您查看輸出結果時,它們將包括時序統計信息。 例如
SQL Server Execution Times:
CPU time = 47 ms, elapsed time = 109 ms.
編輯:您必須使用以下命令將sqlsrv設置為不將警告作為錯誤返回:
sqlsrv_configure('WarningsReturnAsErrors', false);
統計信息文本在sqlsrv_errors()中返回
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.