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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 性能提高、诊断和监控 » 应用程序分析教程 » 教程:诊断表碎片

 

第 2 课:使用 Interactive SQL 找出并修正表碎片

使用 Interactive SQL 找出并修正表碎片。应定期对生产数据库进行碎片检查。

前提条件

本课假定您拥有在本教程开头的特权部分中列出的角色和特权: 教程:诊断表碎片

本教程假定已创建测试数据库 app_profiling.db。请参见教程:为应用程序分析教程创建测试数据库

确保与 app_profiling.db 之间再无其它连接。

 任务
  1. 启动 Interactive SQL。单击 [开始] » [程序] » [SQL Anywhere 16] » [管理工具] » [Interactive SQL]。

  2. 在 [连接] 窗口中,完成以下字段以连接到测试数据库 app_profiling.db

    1. 在 [用户 ID] 字段中键入 DBA

    2. 在 [口令] 字段中键入 sql

    3. 在 [操作] 下拉列表中,选择 [启动并连接到此计算机上的数据库]。

    4. 在 [数据库文件] 字段中,键入 C:\AppProfilingTutorial\app_profiling.db

    5. 在 [启动行] 字段中键入 dbeng16 -x tcpip

  3. 单击 [连接]。

  4. 在 Interactive SQL 中,执行以下 SQL 语句来测试 Employees 表的表碎片:

    CALL sa_table_fragmentation( 'Employees' );

    如果 segs_per_row 列中的值(每行的分段数)大于 1.1,则存在表碎片。等级较高的碎片可能会对性能造成负面影响。

  5. 在 Interactive SQL 中,执行以下 REORGANIZE TABLE 语句来减少表碎片:

    REORGANIZE TABLE Employees;
  6. 关闭 Interactive SQL。

结果

已使用 Interactive SQL 诊断表碎片。

 另请参见