Oracle中的小知识

来源:互联网 发布:水冷机箱推荐 知乎 编辑:程序博客网 时间:2024/05/21 16:01

共享与专用服务器的区别

专用服务器(DEDICATED):一个客户端连接对应一个服务器进程
共享服务器(SHARE):多个客户端连接对应一个服务器进程,服务器端存在一个进程调度器来管理。它必须使用net services.也就是说必须配置tns。
它适合用于高并发,事物量小,如果这个时候采用了共享模式,可以大大减少由于高度并发对于ORACLE服务器的资源消耗。


执行计划查看方法:
从右侧最远的那步执行,然后执行其父节点,


NULL:
A minus B
A not in B

若B表中用到的字段中包含空,则以上两个结果不同;
原因:
(1,2)  not in (*,null) : return false

Oracle中的层次查询

select   
 A.HAKO_NO   
from    T_KB_KONYUIRAI A   
where    A.DEL_FLG='0'   
and A.KOJI_NO='0000000001'   
start with A.PRE_CHM_NO is null   
connect by nocycle   PRE_CHM_NO = prior A.CHM_NO

start with 是指从哪个节点开始递归查询;
connect by nocycle,是指查询下一行的条件,或者叫连接条件;
其中nocycle是当递归出现环的时候终止该分支查询,这是oracle 10G中新添加的功能,不使用nocycle,
当查询时出现环时,oracle会报错;

connect by prior:遍历方向;
从父节点往子节点遍历:connect by prior后紧跟父列;

Oracle中的表关联

left join
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
即结果中包含左表的所有记录,即使与某些记录与右表关联不上;

inner join(等值连接) 只返回两个表中联结字段相等的

 

0 0