大多数情况下,将数据库升级到 SQL Server 2008 会提高查询性能。 但是,假如您具有已针对性能进行过认真优化的任务关键查询,在升级前更好为每个查询创建一个计划指南,以保留这些查询的查询计划。 假如在升级后,查询优化器为一个或多个查询选择了效率较低的计划,则可以启用这些计划指南并强制查询优化器使用升级前的计划。
若要在升级前创建计划指南,请按照以下步骤执行操作:
通过使用 sp_create_plan_guide 存储过程并在 USE PLAN 查询提示中指定查询计划来记录每个任务关键查询的当前计划。
验证计划指南是否适用于此查询
将数据库升级到 SQL Server 2008。
计划保留在升级后的数据库中的计划指南中,假如在升级后计划的性能出现退步,则这些计划将用作后备计划。
建议您在升级后不要启用计划指南,因为由于统计信息进行了更新,您可能会错过新版本中的更好计划或者重新编译所带来的益处。
假如在升级后选择了效率较低的计划,可以激活所有计划指南或部分计划指南以取代新计划。
示例
下面的示例显示如何通过创建计划指南来为查询记录升级前的计划。
步骤 1:收集计划
计划指南中记录的查询计划必须采用 XML 格式。 可通过以下方式生成 XML 格式的查询计划:
|
查询 sys.dm_exec_query_plan 动态管理函数的 query_plan 列。
SQL Server Profiler Showplan XML、Showplan XML Statistics Profile 和 Showplan XML For Query Compile 事件类。
下面的示例通过查询动态管理视图收集语句
SELECT City, StateProvinceID, PostalCode FROM Person.Address ORDER BY PostalCode DESC; 的查询计划。 USE AdventureWorks; PostalCode FROM Person.Address ORDER BY PostalCode DESC;%'; GO |
步骤 2:创建计划指南以强制实施计划
在计划指南中使用 XML 格式的查询计划(通过上述任一 *** 获取),将该查询计划作为字符串文字复制并粘贴在 sp_create_plan_guide 的 OPTION 子句中指定的 USE PLAN 查询提示中。
在 XML 计划本身中,先将计划中出现的引号 (') 通过第二个引号进行转义,然后再创建计划指南。 例如,对于包含 WHERE A.varchar = 'This is a string' 的计划,必须通过将该代码修改为 WHERE A.varchar = ''This is a string'' 来进行转义。
下面的示例为步骤 1 中收集的查询计划创建计划指南,并在 @hints 参数中插入此查询的 XML 显示计划。 为简洁起见,此示例中仅包括部分显示计划输出。
|
步骤 3:验证计划指南是否适用于查询
再次运行查询,并检查生成的查询计划。 您应看到该计划与您在计划指南中指定的计划相符。
在某些电脑中,机器内部蜂鸣器与系统的声音输出方案是相关联的,这样一来会导致当系统输出声音时,即使电脑没有连接外部音响或耳机,也会通过内置蜂鸣器发出“嘟嘟哔哔”的声音。这个问题主要出现在Windows 7电脑中,假如你的电脑恰好遇到了这样的问题,可参考下面的方法来解决: 1、在桌面“计算机”图标上右...
Windows 7系统可以对每个文件夹进行个性化视图设置,可以根据自己的个人喜好和实际需要更改文件或文件夹图标的大小,或者让文件或文件夹以列表、平铺等方式显示。但是,假如你对N个文件夹视图进行了风格各异的个性设置,现在又想让所有文件夹都使用同一种视图怎么办呢 手工一个一个修改,你OUT了,非累得手抽...
很多朋友从XP升级迈入了Windows 7的殿堂,却发现,Windows 7确实好用和华丽,可是有一些地方不太适应。今天举出一则例子,是把Windows 7系统下的宋体替换为XP系统下的字体。这个并非无聊,大家去网上搜索下,就知道有多少人想要这么做了。 没办法,每人的需求总是那么的不同,好吧,怀旧...
假如你想要在Ubuntu上使用Windows应用,就需要用到Wine了,除了支持Linux系统外,Wine还可运行于其他系统,是个非常使用的软件,下面小编就以Ubuntu 14.04为例,给大家介绍下Ubuntu 14.04安装Wine的步骤。 Ubuntu 14.04安装Wine的步骤 1...
每一位用户的Windows 7系统上,或多或少都会有一到两个自己常用的文件夹,那么如何将这些常用的文件夹添加到任务栏上,增加我们的工作效率呢 许多用户只知道移动exe程序文件到任务栏,却不知道文件夹怎么移,下面小编通过图文教程来告诉大家方法。 操作方法: 1、首先将你使用频率最高的那个文件夹重命...
许多朋友的Windows 7系统每次启动到桌面后,都会收到一个提示:Windows检测到一个硬盘问题,请立即备份文件以防信息丢失,并联系计算机制造商以确定是否需要修复或更换硬盘。如下图情况: 碰到这种情况的朋友就需要注意了,虽然不知道当前硬盘是碰到什么问题,但在电脑还能使用的情况下,我们首先要...