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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 监控和提高数据库性能 » 提高数据库性能 » 索引顾问

 

了解索引顾问建议

分析跟踪会话之前,[索引顾问] 会询问您需要的建议类型:

  • 推荐的聚簇索引   如果选择此选项,[索引顾问] 将分析聚簇索引和非聚簇索引的影响。

    对于某些负载而言,与非聚簇索引相比,选择得当的聚簇索引可以在更大程度上提高性能,但您必须重组表(使用 REORGANIZE TABLE 语句),这样才能使索引生效。此外,如果考虑聚簇索引的影响,分析将占用更长的时间。请参见使用聚簇索引

  • 保持现有的次级索引   [索引顾问] 可以通过在数据库中维护现有的一组次级索引或忽略现有的次级索引来执行分析。次级索引是这样一个索引:它不是唯一约束,也不是主键或外键。在选择访问计划时,总是会考虑为实施参照完整性约束而存在的索引。

分析包括以下步骤:

  • 生成候选索引   对于每个跟踪会话,[索引顾问] 都会生成一组候选索引。在大表上创建实际索引是一个耗时的操作,因此 [索引顾问] 将它的候选索引创建为虚拟索引。虚拟索引不能用来实际执行查询,但优化程序可以使用虚拟索引来预计执行计划的开销,就像实际存在此类索引一样。虚拟索引允许 [索引顾问] 执行假定推测分析,这样就不会产生创建和管理实际索引的开销。虚拟索引的列数限制为四列。

  • 测试候选索引的收益和开销   [索引顾问] 会要求优化程序预计在使用和不使用候选索引的不同组合的情况下在跟踪数据库中执行查询的开销。

  • 生成建议   [索引顾问] 汇编查询开销的结果,并按索引提供的总收益对索引排序。它提供一个 SQL 脚本,您可以通过运行该脚本来实现建议,也可以保存该脚本供自己检查和分析。