1

PHP 5 と sqlsrv データベース ドライバーを使用しています。多くの異なるサーバーに繰り返しアクセスしているため、QueryTimeout を 15 秒に設定しています。一度タイムアウトに達した場合は、操作を停止して次のサーバーにアクセスする必要があります。

現在、変数を使用して開始時刻と終了時刻を追跡し、それ>=が QueryTimeoutの場合は中止していますが、sqlsrv ドライバー自体から実際のクエリ時間を取得する方法はありますか? sqlsrv functionsのリストに役立つように見えるものは何もありませんでした。現在の時刻を取得する変数で各クエリをラップするのではなく、最後のクエリの時刻を取得できるようにしたいと考えています。

4

3 に答える 3

0

sqlsrvSQL Server、T-SQLなどに慣れていないので、暗闇の中でのショットです。

http://msdn.microsoft.com/en-us/library/ms189741.aspx

あなたができるようですSELECT last_elapsed_time FROM sys.dm_exec_query_stats

于 2012-06-06T13:57:27.893 に答える
0

あなたはこれを使うことができます:

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)
于 2012-06-06T13:58:08.873 に答える