Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link イベント » 同期イベント

 

time_statistics テーブル・イベント

時間統計を追跡します。

パラメータ

次の表の説明では、SQL データ型を示します。Java または .NET でスクリプトを作成する場合、適切なデータ型を使用してください。SQL データ型と Java データ型SQL データ型と .NET データ型を参照してください。

SQL スクリプトでは、名前または疑問符を使用してイベント・パラメータを指定できますが、スクリプト内に名前と疑問符を混在させることはできません。疑問符を使用する場合、パラメータは以下に示す順に指定する必要があり、後続のパラメータが指定されていない場合のみ省略可能です (たとえば、パラメータ 2 を使用する場合は、パラメータ 1 を使用してください)。名前付きパラメータを使用する場合は、パラメータの任意のサブセットを任意の順に指定できます。

SQL スクリプトのパラメータ名

説明

順序

s.remote_id VARCHAR(128)。Mobile Link リモート ID。名前付きパラメータを使用している場合のみ、リモート ID を参照できます。 適用不可

s.username

VARCHAR(128)。Mobile Link ユーザ名。

1

s.table

VARCHAR(128)。テーブル名。

2

s.event_name

VARCHAR(128)

3

s.number_of_calls

INTEGER。スクリプトが呼び出された回数。

4

s.minimum_time

INTEGER。ミリ秒。このテーブルの同期中にスクリプトを実行するのにかかった最短の時間。

5

s.maximum_time

INTEGER。ミリ秒。このテーブルの同期中にスクリプトを実行するのにかかった最長の時間。

6

s.total_time

INTEGER。ミリ秒。テーブルの同期ですべてのスクリプトを実行するのにかかった合計時間(これは同期の長さとは異なります)。

7

デフォルトのアクション

なし

備考

time_statistics テーブル・イベントを使用すると、任意のユーザとテーブルについて同期中の時間統計を収集できます。対応するスクリプトがあるイベントについてのみ、統計が収集されます。単一のイベントが数回発生する場合、スクリプトは集合データを収集します。このスクリプトは、ユーザ、イベント、テーブル間で時間を比較する場合に特に便利です。

参照
SQL の例

次の例は、統計情報を time_statistics テーブルに挿入します。

CALL ml_add_table_script (
 'ver1',
 'table1',
 'time_statistics',
 'INSERT INTO time_statistics(
   ml_user, 
   table, 
   event_name, 
   number_of_calls,
   minimum_time, 
   maximum_time, 
   total_time)
  VALUES (
   {ml s.username}, 
   {ml s.table}, 
   {ml s.event_name}, 
   {ml s.number_of_calls}, 
   {ml s.minimum_time}, 
   {ml s.maximum_time}, 
   {ml s.total_time} )' );
Java の例

次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン ver1 を同期するときに、timeStatisticsTable という Java メソッドを time_statistics テーブル・イベント用のスクリプトとして登録します。

CALL ml_add_java_table_script(
  'ver1',
  'table1',
  'time_statistics',
  'ExamplePackage.ExampleClass.timeStatisticsTable' )

次に示すのは、サンプルの Java メソッド timeStatisticsTable です。このメソッドは、upload_old_row_insert イベントの統計を出力します。

public String timeStatisticsTable(
  String username,
  String tableName,
  String eventName,
  int numberOfCalls, 
  int minimumTime, 
  int maximumTime,
  int totalTime ) {
  if( eventName.equals( "upload_old_row_insert") ) {
    java.lang.System.out.println(
     "upload_old_row_insert num_calls: " + numCalls +
     "total_time: " + totalTime ); 
  } 
  return ( null );
}
.NET の例

次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン ver1 とテーブル table1 を同期するときに、TimeTableStats という .NET メソッドを time_statistics テーブル・イベント用のスクリプトとして登録します。

CALL ml_add_dnet_table_script(
  'ver1',
  'table1',
  'time_statistics',
  'TestScripts.Test.TimeTableStats'
)

次に示すのは、サンプルの .NET メソッド TimeTableStats です。このメソッドは、upload_old_row_insert イベントの統計を出力します。

public string TimeTableStats(
  string user,
  string table,
  string eventName,
  int numberOfCalls,
  int minimumTime,
  int maximumTime,
  int totTime ) {
  if( event_name == "upload_old_row_insert") {
    System.Console.WriteLine(
      "upload_old_row_insert num_calls: " + num_calls +
      "total_time: " + total_time ); 
  } 
  return ( null );
}