SQL Server参数化查询的概念与创建


  本文标签:SQL Server参数化查询

  此文主要向大家描述的是SQL Server参数化查询的概念,以及自动创建SQL Server数据库参数化查询的实际操作步骤,以下的文章主要是对这两个相关内容的介绍,希望会给你带来一些帮助在此方面  。

  什么是SQL Server参数化查询?

  一个简单理解参数化查询的方式是把它看做只是一个T-SQL查询,它接受控制这个查询返回什么的参数  。通过使用不同的参数,一个参数化查询返回不同的结果  。要获得一个参数化查询,你需要以一种特定的方式来编写你的代码,或它需要满足一组特定的标准  。

  有两种不同的方式来创建参数化查询  。第一个方式是让查询优化器自动地参数化你的查询  。另一个方式是通过以一个特定方式来编写你的T-SQL代码,并将它传递给sp_executesql系统存储过程,从而编程一个参数化查询  。这篇文章的后面部分将介绍这个方法  。

  参数化查询的关键是查询优化器将创建一个可以重用的缓存计划  。通过自动地或编程使用参数化查询,SQL Server可以优化类似T-SQL语句的处理  。这个优化消除了对使用高贵资源为这些类似T-SQL语句的每一次执行创建一个缓存计划的需求  。而且通过创建一个可重用计划,SQL Server还减少了存放过程缓存中类似的执行计划所需的内存使用  。

  现在让我们看看使得SQL Server创建参数化查询的不同方式  。

  SQL Server参数化查询是怎样自动创建的?

  微软编写查询优化器代码的人竭尽全力地优化SQL Server处理你的T-SQL命令的方式  。我想这是查询优化器名称的由来  。这些尽量减少资源和最大限度地提高查询优化器执行性能的方法之一是查看一个T-SQL语句并确定它们是否可以被参数化  。要了解这是如何工作的,让我们看看下面的T-SQL语句:

  1. SELECT *   
  2. FROM AdventureWorks.Sales.SalesOrderHeader   
  3. WHERE SalesOrderID = 56000;   
  4. GO  

  在这里,你可以看到这个命令有两个特点  。第一它简单,第二它在WHERE谓词中包含一个用于SalesOrderID值的指定值  。查询优化器可以识别这个查询比较简单以及SalesOrderID有一个参数(“56000”)  。因此,查询优化器可以自动地参数化这个查询  。


SQL Server参数化查询

上述的相关内容就是对SQL Server参数化查询的概念与自动创建的描述,希望会给你带来一些帮助在此方面  。

  原文标题:SQL Server参数化查询

  连接:http://www.cnblogs.com/ylqmf/archive/2010/05/25/1743766.html