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_index_density( 'Employees' );

    密度值范围介于 0 和 1 之间。该值越接近 1,说明索引碎片越小。该值小于 0.5 则表示索引碎片级别可能会影响性能。

    注释

    由于结果 [密度] 列中的值恰好小于 0.5,所以出现 Employees 表的索引值以显示碎片问题。但由于该表非常小,所以这些数值较低只是表面现象。

  5. 在 Interactive SQL 中,执行以下 ALTER INDEX...REBUILD 语句来提高索引的密度:

    ALTER INDEX PRIMARY KEY ON Employees REBUILD;
  6. 关闭 Interactive SQL。

结果

已使用 Interactive SQL 找出并修正索引碎片。

 另请参见