为上载操作跟踪同步统计信息。
在下表中,[说明] 部分提供 SQL 数据类型。如果您使用 Java 或 .NET 编写脚本,则应该使用相应的数据类型。请参见 SQL-Java 数据类型和 SQL-.NET 数据类型。
只有当未指定任何后续参数时,事件参数才是可选的。例如,如果要使用参数 2,您必须使用参数 1。
| 项 | 参数 | 说明 |
|---|---|---|
| 1 | ml_username | VARCHAR(128) |
| 2 | warnings | INTEGER |
| 3 | errors | INTEGER |
| 4 | inserted_rows | INTEGER |
| 5 | deleted_rows | INTEGER |
| 6 | updated_rows | INTEGER |
| 7 | conflicted_inserts | INTEGER |
| 8 | conflicted_deletes | INTEGER |
| 9 | conflicted_updates | INTEGER |
| 10 | ignored_inserts | INTEGER |
| 11 | ignored_deletes | INTEGER |
| 12 | ignored_updates | INTEGER |
| 13 | bytes | INTEGER |
| 14 | deadlocks | INTEGER |
无。
upload_statistics 事件可用于为所有用户收集与上载有关的统计信息。upload_statistics 连接脚本紧接在上载事务结束时执行提交操作之前被调用。
下面的示例将上载操作的同步统计信息插入到表 upload_summary_audit 中。
call ml_add_connection_script( 'ver1', 'upload_statistics', 'INSERT INTO upload_summary_audit ( ml_user, warnings, errors, inserted_rows, deleted_rows, updated_rows, conflicted_inserts, conflicted_deletes, conflicted_updates, bytes, ignored_inserts, ignored deletes, ignored_updates, bytes, deadlocks) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)'
在审计表中记录了统计信息之后,您可以使用这些统计信息监控同步过程并在条件允许时进行优化。
下面的存储过程调用在同步脚本版本 ver1 时将名为 uploadStatisticsConnection 的 Java 方法注册为 upload_statistics 连接事件的脚本。
call ml_add_java_connection_script( 'ver1', 'upload_statistics', 'ExamplePackage.ExampleClass.uploadStatisticsConnection' )
下面是示例 Java 方法 uploadStatisticsConnection。它将某些统计信息记录到 MobiLink 输出日志。(这在开发时可能会有帮助,但会降低生产服务器的性能。)
public String uploadStatisticsConnection(
String user,
int warnings,
int errors,
int insertedRows,
int deletedRows,
int updatedRows,
int conflictedInserts,
int conflictedDeletes,
int conflictedUpdates,
int ignoredInserts,
int ignoredDeletes,
int ignoredUpdates,
int bytes,
int deadlocks
)
{ java.lang.System.out.println( "updated rows: " +
updatedRows ); }下面的存储过程调用在同步脚本版本 ver1 时将名为 UploadStats 的 .NET 方法注册为 upload_statistics 连接事件的脚本。
call ml_add_dnet_connection_script( 'ver1', 'upload_statistics', 'TestScripts.Test.UploadStats' )
下面是示例 .NET 方法 UploadStats。它将某些统计信息记录到 MobiLink 输出日志。(这在开发时可能会有帮助,但会降低生产服务器的性能。)
public void UploadStats(
string user,
int warnings,
int errors,
int insertedRows,
int deletedRows,
int updatedRows,
int conflictInserts,
int conflictDeletes,
int conflictUpdates,
int ignoredInserts,
int ignoredDeletes,
int ignoredUpdates,
int bytes,
int deadlocks)
{ System.Console.WriteLine( "updated rows: " +
updatedRows ); }SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。