目的
この制御によって、ユーザーは、クエリーの経過時間または合計時間のメッセージを出力するかどうかを指定できます。
構文
使用上の注意
TIMEMSG DEFAULTコマンドは、デフォルトとして使用し、この場合、合計時間メッセージは出力されません。
TIMEMSG QUERYコマンドは、リクエストに関連するすべての情報が返された後に合計問合わせ時間メッセージも出力されるように要求します。
実行したデータベース リクエストの経過時間メッセージを抑制するには、TIMEMSG NONEコマンドを使います。
SET TIMEMSG QUERYとSET RETLIMIT(行)を併用する場合は、次の3つのメッセージが表示されます。
- 経過時間メッセージ - 従来から表示されているメッセージ。
- 別の経過時間メッセージ - 行のRETLIMITの値に達したときに出力される。
- 合計問合わせ時間メッセージ - 完了時に出力される。
合計問合わせ時間メッセージは、最初に表示される経過時間メッセージで返される時間も含みます。
例1 – TIMEMSG
指定したリクエストの総時間を出力するには、次のように入力します。
.SET TIMEMSG QUERY
例2 – マクロによって出力されるTIMEMSG
Teradata SQLマクロでは、使用例1のTIMEMSGコマンドは次のようになります。
ECHO '.SET TIMEMSG QUERY';
例3 – TIMEMSG
以下の例では、REPEATされたSQLリクエストのデフォルトを記述します。
.IMPORT DATA FILE = myfile.imp; .REPEAT 4 ; USING ( i integer, c char(1) ) INSERT INTO mytable values (:i,:c);
生成される出力:
+---------+---------+---------+---------+---------+---------+-. .IMPORT DATA FILE = myfile.imp; +---------+---------+---------+---------+---------+---------+-. .REPEAT 4 ; +---------+---------+---------+---------+---------+---------+-. USING ( i integer, c char(1) ) INSERT INTO mytable values (:i,:c); *** Starting record 1 at Wed Jan 17 17:00:35 2007 *** Insert completed. One row added. *** Total elapsed time was 1 second. *** Insert completed. One row added. *** Total elapsed time was 1 second. *** Insert completed. One row added. *** Total elapsed time was 1 second. *** Insert completed. One row added. *** Total elapsed time was 1 second. *** Finished at record 4 at Wed Jan 17 17:00:35 2007 *** Total number of statements: 4, Accepted : 4, Rejected : 0 *** Total elapsed time was 1 second. *** Total requests sent to the DBC = 4 *** Successful requests per second = 4.000
経過時間メッセージの生成を抑制するには、TIMEMSG NONEコマンドを、IMPORTを実行する前に次のように入れます。
.SET TIMEMSG NONE; .IMPORT DATA FILE = myfile.imp; .REPEAT 4 ; USING ( i integer, c char(1) ) INSERT INTO mytable values (:i,:c);
経過時間メッセージが抑制された出力...
+---------+---------+---------+---------+---------+---------+-. .SET TIMEMSG NONE; +---------+---------+---------+---------+---------+---------+-. .IMPORT DATA FILE = myfile.imp; +---------+---------+---------+---------+---------+---------+-. .REPEAT 4 ; +---------+---------+---------+---------+---------+---------+-. USING ( i integer, c char(1) ) INSERT INTO mytable values (:i,:c); *** Starting record 1 at Wed Jan 17 17:00:35 2007 *** Insert completed. One row added. *** Insert completed. One row added. *** Insert completed. One row added. *** Insert completed. One row added. *** Finished at record 4 at Wed Jan 17 17:00:35 2007 *** Total number of statements: 4, Accepted : 4, Rejected : 0 *** Total requests sent to the DBC = 4 *** Successful requests per second = 4.000
アクティビティ カウント メッセージをさらに抑制するには、次のようにTIMEMSG NONEに加えてQUIET ONを使用します。
.SET QUIET ON; SET TIMEMSG NONE; .IMPORT DATA FILE = myfile.imp; .REPEAT 4 ; USING ( i integer, c char(1) ) INSERT INTO mytable values (:i,:c);
出力では、経過時間メッセージとアクティビティ カウント メッセージが抑制されます。
+---------+---------+---------+---------+---------+---------+-. .SET QUIET ON; *** Type QUIET OFF; to resume output. +---------+---------+---------+---------+---------+---------+-. .SET TIMEMSG NONE; +---------+---------+---------+---------+---------+---------+-. .IMPORT DATA FILE = myfile.imp; +---------+---------+---------+---------+---------+---------+-. .REPEAT 4 ; +---------+---------+---------+---------+---------+---------+-. USING ( i integer, c char(1) ) INSERT INTO mytable values (:i,:c); *** Starting record 1 at Wed Jan 17 17:05:29 2007 *** Finished at record 4 at Wed Jan 17 17:05:29 2007 *** Total number of statements: 4, Accepted : 4, Rejected : 0 *** Total requests sent to the DBC = 4 *** Successful requests per second = 4.000