oracle编程300例-性能优化(一)


1、在SELECT语句中避免使用“*”

2、尽可能减小记录行数

3、使用rowid高效删除重复记录

实例:

delete from stu s

where s.rowid>(select min(t.rowid)

from stu t

where t.stu=t.stu

/

4、使用truncate代替delete删除记录

5、高效统计记录行数

select tables_name,num_rows

from user_tables

where table_name='stu'

/

6、尽量多使用commit

7、避免使用having字句

select user_name,count(user_name)

from log_event

group by user_name

having  user_name='sys'

/

 

select user_name,count(user_name)

from log_event

where user_name='sys'

group by user_name

/

8、用exists 替代in谓词

select sno 学号,sname 姓名,sage 年龄,

    sgentle 性别,sbirth 出生年月,sdept 所在班级

from stu

where exists (select * from grade)

        where sno=stu.sno and gname='计算机基础')

/

 

select sno 学号,sname 姓名,sage 年龄,

    sgentle 性别,sbirth 出生年月,sdept 所在班级

from stu

where sno in(select sno from grade

        where gname='计算机基础')

 

转载于:https://www.cnblogs.com/shuimitao/p/9993291.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值