2009年5月23日土曜日

[他]T-SQLでSQLのミリ秒単位で時間を計測する

パフォーマンスチューニングをする場合、基本的に少し直しては計測するという繰り返しになります。
SQLの場合、実行計画を元に修正案を検討し、プロファイルツールなどで時間を計測します。

SQLServer2005以降の場合、SQLServer Management Studioというツールがあり、このツールにてSQLを実行することができます。SQLを実行するとステータスバー右下に実行時間が出ます。

しかし、T-SQL(ストアド)の特定の区間のスプリットを出したい場合や正確な時間を計測したい場合には向きません。
そこで、T-SQLを使ってミリ秒単位の時間を出力する例を備忘録としてメモ。

SET NOCOUNT on

DECLARE @START_TIME datetime
SET @START_TIME = GETDATE()

--時間のかかるSQL

PRINT 'TIME=' + CONVERT(VARCHARGETDATE()-@START_TIME,114

0 件のコメント: