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 的用法 » 监控和提高数据库性能 » 提高数据库性能 » 索引顾问

 

执行 [索引顾问] 结果

尽管 [索引顾问] 提供一个可用于执行其结果的 SQL 脚本,但您可能想要在执行结果前先对结果进行访问。例如,您可能想要将分析期间所生成的建议索引名称重命名。

访问结果时,请考虑以下事项:

  • 建议的索引是否与您自己的期望相符?   如果您非常了解数据库中的数据,并且了解目前对数据库运行的查询,那么您可能需要凭借自己的认识来检查建议的索引是否有用。或许建议的索引只影响很少运行的单个查询,或许建议的索引位于小表上,总体影响较小。或许 [索引顾问] 建议应删除的索引用于其它一些没有包含在您的跟踪会话中的任务。

  • 建议的各个索引所产生的效果之间是否存在很强的相关性?   索引建议会尝试单独评估各个索引的相对收益。不过,情况可能会是这样:两个索引只有都存在时才会被使用(如果它们存在,查询可能会使用两个,如果缺少其中一个,则哪个也不用)。您可以进一步研究 [请求] 选项卡并检查查询计划,以查看建议索引的使用方式。

  • 您是否能在创建聚簇索引时重组表?   为了充分利用聚簇索引,您应该使用 REORGANIZE TABLE 语句重组创建聚簇索引时所在的表。如果 [索引顾问] 推荐许多聚簇索引,您可能需要卸载和重装数据库才能获得全部益处。卸载和重装表是一个非常耗时的操作,并且需要大量的磁盘空间资源。您可能需要确认自己具有实现建议所需的时间和资源。

  • 分析期间的服务器和连接的状态是否反映了生产运营中的实际状态?   分析结果取决于数据库服务器的状态,包括哪些数据位于高速缓存中。它们也取决于连接的状态,包括某些数据库选项设置。由于分析只创建虚拟索引而不执行请求,因此,数据库服务器的状态在分析期间实质是静态的(其它连接引入的更改除外)。如果该状态不能代表数据库的典型操作,您可能想在其它不同条件下重新运行分析。

另请参见