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

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Serveradministration » MobiLink-Ereignisse » Synchronisationsereignisse

 

time_statistics (Tabellenereignis)

Verfolgt die Zeitstatistik.

Parameter

In der folgenden Tabelle stellt die Beschreibung den SQL-Datentyp bereit. Wenn Sie Ihr Skript in Java oder .NET schreiben, müssen Sie den entsprechenden Datentyp benutzen. Weitere Hinweise finden Sie unter SQL-Java-Datentypen und SQL-.NET-Datentypen.

In SQL-Skripten können Sie Ereignisparameter mit ihrem Namen oder mit einem Fragezeichen angeben. Namen und Fragezeichen dürfen jedoch in einem Skript nicht gemischt verwendet werden. Wenn Sie Fragezeichen verwenden, müssen die Parameter in der nachfolgend gezeigten Reihenfolge stehen und sind nur dann optional, wenn keine nachfolgenden Parameter angegeben wurden (z.B. müssen Sie Parameter 1 verwenden, wenn Sie Parameter 2 verwenden möchten). Wenn Sie benannte Parameter verwenden, können Sie beliebige Teilmengen der Parameter in beliebiger Reihenfolge angeben.

Parametername für SQL-Skripten

Beschreibung

Reihenfolge

s.remote_id VARCHAR(128). Die entfernte ID von MobiLink. Sie können die entfernte ID nur dann referenzieren, wenn Sie benannte Parameter verwenden. Nicht anwendbar

s.username

VARCHAR(128). Der MobiLink-Benutzername

1

s.table

VARCHAR(128). Der Tabellenname

2

s.event_name

VARCHAR(128)

3

s.number_of_calls

INTEGER. Gibt an, wie häufig das Skript aufgerufen wurde.

4

s.minimum_time

INTEGER. Millisekunden. Die kürzeste Zeit, die zum Ausführen eines Skripts während der Synchronisation dieser Tabelle benötigt wird.

5

s.maximum_time

INTEGER. Millisekunden. Die längste Zeit, die zum Ausführen eines Skripts während der Synchronisation dieser Tabelle benötigt wird.

6

s.total_time

INTEGER. Millisekunden. Die Gesamtzeit, die zum Ausführen aller Skripten während der Synchronisation der Tabelle benötigt wird. (Dies ist nicht identisch mit der Länge/Dauer der Synchronisation.)

7

Standardaktion

Keine.

Bemerkungen

Mit der Tabelle time_statistics können Sie während der Synchronisation für jeden beliebigen Benutzer und für jede beliebige Tabelle statistische Zeitdaten sammeln. Die statistischen Daten werden nur für die Ereignisse gesammelt, für die es entsprechende Skripten gibt. Mit dem Skript werden in Fällen, wo ein Einzelereignis mehrmals eintritt, Aggregatdaten gesammelt. Das Skript kann besonders nützlich sein, wenn Zeitvergleiche zwischen Benutzern, Ereignissen und Tabellen durchgeführt werden sollen.

Siehe auch
SQL-Beispiel

Das folgende Beispiel fügt statistische Informationen in die Tabelle time_statistics ein.

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-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens timeStatisticsTable als das Skript für das Tabellenereignis time_statistics, wenn die Skriptversion ver1 synchronisiert wird.

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

Im Folgenden sehen Sie die Java-Beispielmethode timeStatisticsTable. Sie gibt Statistiken für das Ereignis upload_old_row_insert aus.

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-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens TimeTableStats als das Skript für das Tabellenereignis time_statistics, wenn die Skriptversion ver1 und die Tabelle table1 synchronisiert werden.

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

Im Folgenden sehen Sie die .NET-Beispielmethode TimeTableStats. Sie gibt Statistiken für das Ereignis upload_old_row_insert aus.

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 );
}