QUOTE:
最初由 sanman 发布
我还是有个问题不大明白,为什么用原来的SQL是用sys_user来做驱动表,换了union后就用sys_grp做驱动了。
这个和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 code:
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)
使用的这样的执行计划。