浅谈SQL SERVER2000T-SQL的运行
2008-09-04 10:00:33 来源:WEB开发网二.编译
这一步主要是将顺序树(SEQUENCE TREE)生成为一个执行规划, 查询优化器(Query Optimizer)主要是对T-SQL语句所要检索的资源进行评估,生成I/O的时间,过虑时间和其他逻辑处理的时间.然后查询优化器(Query Optimizer)是试图利用一个最小资源的方案.
这个方案中还包括执行是需要的任务列表(比如:安全检查,约束检查,触发器检查等等).这个就被成为执行规划
三.执行
执行组件根据执行规划在高速缓存中运行并滞留,执行规划的不同步骤将被发送到关系引擎的不同组件进行处理:DML管理器,DDL管理器,存储过程管理器,事务处理管理器和实用工具管理器.处理结果将以结果集的方式被收集合并返回调用者.
执行规划将在高速缓存中被保留一段时间,如果同一用户或其他用户发出类似请求的T-SQL批处理,关系数据引擎将会优先在高速缓存中寻找匹配的执行规划.如果该执行规划存在就采用运行,如果不存在,SQL SERVER 就会解析并编译这个T-SQL批处理.
如果SQL SERVER需要的内存不够,它会从内存中删除一些执行规划。SQL SERVER有一个很好的”老化”算法,它可以统计某个执行规划的使用时间和次数.如果内存足够的大,也可以无限的增加执行规划到内存中.
四. 简单查询执行规划的重用
简单T-SQL批处理只可以在2中情况下被重用:
1. 第二次查询的文本必须和高速缓存中执行规划所描述的文本完全相同,每一项都要匹配,包括:空格,换行,缩排,在大小写敏感的SQL SERVER中还包括字符的大小写.
2. 查询包涵完全修饰的数据库对象以便重用执行规划.
select * FORM PUBS.DBO.SALES
所以在这种情况下:”*” 的执行效率要高于select COLUMN_LIST FROM TABLENAME的语句.
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接