- 最后登录
- 2014-12-31
- 在线时间
- 2 小时
- 威望
- 0
- 金钱
- 10
- 注册时间
- 2014-7-30
- 阅读权限
- 10
- 帖子
- 2
- 精华
- 0
- 积分
- 0
- UID
- 1967
|
1#
发表于 2014-7-30 13:43:09
|
查看: 4316 |
回复: 2
在应用看到个sql,比如是:
select xx,xx,xxx,xx from xx_v where id=3;
打开这个视图一看,发现视图里面套了视图,另外的视图里面又套了视图
执行计划看的我想吐了,现在有点疑问,烦请帮忙看看。
1、视图套视图套视图加where条件的sql执行的过程?
是会在执行时会进行合并,把sql转换成:
select xxx from xx,xx,xx,xx where xx.xx=xx.xx and xx.xx=xx.xx and xx.xx=3
还是会先执行视图里面的过滤条件,然后再执行xx=3这个过滤,因为如果xx=3 要是放在里面执行了,这样能过滤掉很大一部分数据,如果放在外面先等视图执行完再过滤就很慢了
2、有没有一些隐含参数或其他参数来控制这种sql 合并的?
3、有没有在不该写应用的情况下进行优化。 |
|