摘要: 计划缓冲的基本目的是通过重用执行计划来改进性能。因为,确认执行计划确实可重用很重要。因为即席查询的计划可重用性效率低下,所以一般建议尽可能依赖预定义工作负载技术。为了确保计划缓冲的高效实用,遵循以下建议。明确地参数化查询的可变部分;使用存储过程实现业务功能;使用sp_executesql避免存储... 阅读全文
posted @ 2014-10-24 21:42 Cat Qi 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 查询计划hash和查询hash 在SQL Server 2008中引入的围绕执行计划和缓冲的新功能被称为查询计划hash和查询hash。这是使用针对查询或查询计划的算法来生成二进制hash值的二进制对象。 可以从sys.dm_exec_query_stats或sys.dm_exec_reques... 阅读全文
posted @ 2014-10-24 17:33 Cat Qi 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 当查询被提交时,SQL Server检查过程缓冲中匹配的执行计划,如果没有找到,SQL Server执行查询编译和优化以生成新的执行计划。 如果执行计划存在于缓冲中,它在私有的执行上下文中重用,这节约了CPU的编译和优化周期。 具有不同过滤条件的相同查询提交到SQL Server时,如:SE... 阅读全文
posted @ 2014-10-24 17:14 Cat Qi 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 一、执行计划缓冲 优化器生成的执行计划保存在SQL Server内存池中的一个特别部分,被称为计划缓冲或过程缓冲。过程缓冲是SQL Server缓存的一部分。在缓冲中保存计划可使SQL Server避免在重新提交相同的查询时再次通过整个查询优化过程运行。SQL Server支持不同的技术,如:计划... 阅读全文
posted @ 2014-10-24 10:12 Cat Qi 阅读(298) 评论(0) 推荐(0) 编辑