oracle小技巧

本文介绍了 Oracle 数据库中的实用 SQL 技巧,包括分页查询、DELETE 和 TRUNCATE 的区别、表解锁方法、表空间管理和字段搜索等。通过这些技巧,可以更高效地管理和查询数据库。

1、oracle分页

      1)select * from (select a.*, rownum rn from (select * from tabel order by XX) a where rownum<5) where rn>2;

             注:在oracle中用rownum来记录数据的顺序,这个语句的意思是,按某个字段排序并查找出表中所有数据,根据数据的顺

                    序,先找出数据排序号小于5的数据,然后再找到大于2的数据。

        2)select * from emp where rowid in (select rid from (select rownum rn,rid from (select rowid rid from table order by XX) a 

              where  rownum<=5)  where rn>=2) 

             注:这里是根据rowid来查找数据,由于这个语句子查询查找的字段很少,故有人认为他的速度比较快。但这里有一个小问

                    题,就是当这个语 句和上面的语句按相同列排序,两条sql查出的数据并不相同,具体什么原因我也不清楚,请知道的

                    大神告知一下。


2、delete和truncate的区别

         delete是DML(数据操作语言),该操作会放在rollback segement中,提交了事物才生效,如果用相应的trigger,执行时将

     会被 触发。truncate是DDL(数据定义语言),该操作执行时立即生效,原数据并没放在rollback segement中,没有回滚一说,

     也不 触发trigger。

     注:当批量删除数据时,建议用truncate,速度较快,但也存在一定的安全隐患


3、oracel表解锁

       1)找到被锁定表的session

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值