跟踪同步统计信息。
在下表中,[说明] 部分提供 SQL 数据类型。如果您使用 Java 或 .NET 编写脚本,则应该使用相应的数据类型。请参见 SQL-Java 数据类型和 SQL-.NET 数据类型。
只有当未指定任何后续参数时,事件参数才是可选的。例如,如果要使用参数 2,您必须使用参数 1。
| 项 | 参数 | 说明 |
|---|---|---|
| 1 | ml_username | VARCHAR(128) |
| 2 | warnings | INTEGER |
| 3 | errors | INTEGER |
| 4 | deadlocks | INTEGER |
| 5 | synchronized_tables | INTEGER |
| 6 | connection_retries | INTEGER |
无。
synchronization_statistics 事件可用于为任何用户和连接收集有关当前同步的各种统计信息。synchronization_statistics 连接脚本紧接在最终同步事务结束时执行提交操作之前被调用。
下面的示例在 sync_con_audit 表中插入同步统计信息。
call ml_add_connection_script( 'ver1', 'synchronization_statistics', 'INSERT INTO sync_con_audit( ml_user, warnings, errors, deadlocks, synchronized_tables, connection_retries) VALUES (?,?,?,?,?,?)')
在审计表中记录了统计信息之后,您可以使用这些统计信息监控同步过程并在条件允许时进行优化。
下面的存储过程调用在同步脚本版本 ver1 时将名为 synchronizationStatisticsConnection 的 Java 方法注册为 synchronization_statistics 连接事件的脚本。
call ml_add_java_connection_script( 'ver1', 'synchronization_statistics', 'ExamplePackage.ExampleClass.synchronizationStatisticsConnection' )
下面是示例 Java 方法 synchronizationStatisticsConnection。它将某些统计信息记录到 MobiLink 输出日志。(这在开发时可能会有帮助,但会降低生产服务器的性能。)
public String synchronizationStatisticsConnection(
String user, int warnings, int errors, int deadlocks,
int synchronizedTables, int connectionRetries )
{ java.lang.System.out.println( "synch statistics
number of deadlocks: " + deadlocks ;
return( null ); }下面的存储过程调用在同步脚本版本 ver1 时将名为 SyncStats 的 .NET 方法注册为 synchronization_statistics 连接事件的脚本。
call ml_add_dnet_connection_script( 'ver1', 'synchronization_statistics', 'TestScripts.Test.SyncStats' )
下面是示例 .NET 方法 SyncStats。它将某些统计信息记录到 MobiLink 输出日志。(这在开发时可能会有帮助,但会降低生产服务器的性能。)
public void SyncStats(
string user,
int warnings,
int errors,
int deadLocks,
int syncedTables,
int connRetries )
{ System.Console.WriteLine( "synch statistics
number of deadlocks: " + deadlocks ;
return( null ); }SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。