其他跟踪文件建议
不要使用基于资源消耗的过滤器,例如持续时间,读取,写入或CPU。在跟踪期间过滤掉任何“真实”应用程序活动将对Qure的最终建议产生影响。
例如,Qure在评估索引建议时会考虑表活动。过滤掉“INSERT ... VALUES
...”语句,这些语句通常消耗非常少的资源并且无法明确优化,这可能导致Qure评估该表的修改次数少于实际情况,从而导致索引建议的优化程度降低。
如果使用生产数据库的备份,请使用其原始名称还原它们。在加载跟踪文件时,Qure会分析前2000个批次,并查找在与选择用于分析的数据库名称相同的数据库名称的上下文中执行的事件。
如果找不到匹配的名称,Qure会引发错误并中止分析。
使用生产数据库的备份作为分析目标时,请在备份后立即执行文件。这使Qure能够在分析基准测试过程中正确地重放和分析跟踪中的查询与数据库中的数据。
例如,如果您使用旧备份和最近的跟踪文件,反之亦然,由于数据不一致,查询可能返回与生产中不同的结果;这反过来可能导致分析结果不准确。
使用SQL事件探查器准备跟踪
跟踪是Qure分析数据库的主要来源。 Qure假定为分析提供的跟踪代表应用程序和数据库执行的所有活动。
要从Qure的分析中获得最有效的建议,在准备和选择Qure使用的迹线时,遵循以下准则至关重要。
模式分析
在模式分析过程中,Qure分析数据库对象,包括表,列,视图,存储过程,函数和触发器。
Qure创建分析对象的内部抽象表示,并将其存储在分析数据文件中。 此过程仅收集元数据,因此相对较短并且消耗的资源最少。
数据统计分析
数据统计分析过程分析存储在数据库表中的实际数据。
默认情况下,扫描所有数据库的数据。 Qure创建数据分布,基数和各种其他统计信息的抽象表示,并将其存储在分析数据文件中。
根据数据库的大小以及表和行的数量,此过程可能需要相当长的时间才能完成,并且可能会占用大量的IO和CPU资源。
此过程主要使用分析数据库服务器资源。
如果在“分析设置”窗口中的分析设置期间选择仅采样数据分析,则只扫描和分析一小部分数据,从而显着减少此过程所需的时间和资源。
请注意,选择此选项会限制Qure检测全部问题的能力,并对检测算法的准确性产生负面影响。
建议生成
在建议书生成过程中,Qure处理并分析在先前过程中收集的所有信息,并生成性能增强建议。
在此过程中,生成的推荐数量的进度指示器和累积计数器显示在主窗格中。
验证建议
在此阶段,Qure重新执行并测量所有批次的资源消耗,以便验证和微调其建议集。此阶段可确保重写一致性,索引效率和批处理依赖性完整性。
优化指数建议
在此阶段,Qure使用批处理执行后可用的其他资源(如内部SQL Server DMV)来进一步优化其索引建议。
衡量绩效改进
在此阶段,Qure在微调上一阶段中设置的建议后再次执行所有批次。记录该阶段的指标,并与第一阶段记录的指标进行比较,作为基准测试结果。
完成基准流程
在此阶段,Qure完成内部操作,计算性能增益因子,将基准测试结果保存到分析文件,并根据基准微调阶段调整报告建议。
基准测试过程完成后,将显示“分析已成功完成”窗口。您现在可以查看报告并调查建议的性能增强建议。