- UID
- 87554
- 阅读权限
- 20
- 帖子
- 491
- 精华贴数
- 0
- 技术排名
- 5987
- 技术积分
- 450
- 社区排名
- 2887
- 社区积分
- 295
- 注册时间
- 2004-7-1
- 精华贴数
- 0
- 技术积分
- 450
- 社区积分
- 295
- 注册时间
- 2004-7-1
- 论坛徽章:
- 3
|
最初由 sanman 发布
[B]我还是有个问题不大明白,为什么用原来的SQL是用sys_user来做驱动表,换了union后就用sys_grp做驱动了。 [/B]
这个和union没什么关系的
现在是把你以前的sql拆成了两句:
select * from sys_user where user_code = 'zhangyong'
select * from sys_user where user_code <> 'zhangyong'
and user_code in (select grp_code from sys_grp where sys_grp.user_code = 'zhangyong')
现在是where user_code <> 'zhangyong'
and user_code in (select grp_code from sys_grp where sys_grp.user_code = 'zhangyong')
这样的条件,
[php]
4 1 NESTED LOOPS
5 4 VIEW OF 'VW_NSO_1'
6 5 SORT (UNIQUE)
7 6 TABLE ACCESS (BY INDEX ROWID) OF 'SYS_GRP'
8 7 INDEX (RANGE SCAN) OF 'FK_SYS_USER_CODE' (NON-UN
IQUE)
9 4 TABLE ACCESS (BY INDEX ROWID) OF 'SYS_USER'
10 9 INDEX (UNIQUE SCAN) OF 'PK_SYS_USER' (UNIQUE)
[/php]
使用的这样的执行计划。 |
|