欢迎来到天天文库
浏览记录
ID:9074535
大小:163.14 KB
页数:2页
时间:2018-04-16
《表假脱机行计数假脱机优化》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、最近都在做优化,现在聊一下表假脱机和行计数假脱机。不论是什么假脱机,都是把现有的信息拿出来放到了tempdb临时数据库的表中,包括索引假脱机。但是引起这三者的原因不同,现在分别来说一下:1、索引假脱机,由于现有索引不能覆盖所需的所有字段,于是取出记录在临时表中建索引查询。2、表假脱机,一般是因为使用了子查询,把子查询的内容放入临时表中,以供后续操作。3、行计数假脱机,一般也是因为使用了子查询,而且一般是在NestedLoops连接时出现,因为NestedLoops连接是外表驱动内表的,在外表的记录数远大于内表时就会采取NestedLoops
2、连接。行计数假脱机主要是在子查询中先抽出查询的所有记录,但是记录中没有值,通过这些记录来计算出行值,然后进行NestedLoops。接下来,我们看一下例子。1、索引假脱机:这个已经介绍过了,请参照之前的文章。主要是修改索引。2、表假脱机:将子查询改写成连接的方式。例子如下:这个时候的部分执行计划:这里的哈希连接中,外表为子查询中的结果,内表为CGDHJH_SCJH。将sql语句修改后:部分执行计划如下:3、行计数假脱机:同样是将子查询修改成连接形式。例子如下:部分执行计划如下:注意:这时候外表有1581行数据,内表只有1行,所以用的是嵌套循
3、环NestedLoops。将子查询修改成连接形式:这个时候的部分执行计划如下:原来的循环嵌套合成了一个索引查找。
此文档下载收益归作者所有