问执行计划的一个问题

[复制链接]
查看11 | 回复5 | 2010-10-8 09:32:25 | 显示全部楼层 |阅读模式
在执行计划中,VIEW 和MERGE该怎样理解?
回复

使用道具 举报

千问 | 2010-10-8 09:32:25 | 显示全部楼层
这个很好理解啊.
在生成执行计划有2种方式,一种是单独的view自己一个子计划,所谓的merge表示view不自己生成,而是通过整个SQL语句转换,把view放到外部的SQL一起生成计划.
其实就是有时候view单独的cost+外部的cost可能会>把view合并(merge)到外部SQL一起执行的cost
回复

使用道具 举报

千问 | 2010-10-8 09:32:25 | 显示全部楼层
我只是写了一个MERGE语句,两个表JOIN之后,就VIEW,然后再MERGE,不知道怎么解释!!!
回复

使用道具 举报

千问 | 2010-10-8 09:32:25 | 显示全部楼层
这就把大家难住了??没有人能够给出解释!!!
回复

使用道具 举报

千问 | 2010-10-8 09:32:25 | 显示全部楼层
因为你merge这子句,没法和你select的部分做view merge,这时候就先做select,然后用select的结果做merge操作
回复

使用道具 举报

千问 | 2010-10-8 09:32:25 | 显示全部楼层
When a view cannot be merged into the main query you will often see a projection view operation. This indicates that the 'view' will be selected from directly as opposed to being broken down into joins on the base tables.
A number of constructs make a view non mergeable. Inline views are also non mergeable.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行