sql语句简单优化

sql语句简单优化

1. 避免使用*号
*在解析的过程中首先会转换成所有的列名,并通过查询数据字典完成,会消耗更多的时间

2.使用别名
能精确查找表的字段,避免多个表中字段相同的情况

3.where 子句中的连接顺序
where子句是先执行后面的子句,从右往左执行,应该把能缩小范围的语句放在后面

4.使用>=代替>

# 高效
select * from student where score>=90;

# 低效
select * from student where score>89; 

5.使用 truncate 代替 delete
delete如果没有commit操作,回滚段中会存放删除操作恢复的信息
truncate回滚段不再存放任何可被恢复的信息,因此很少的资源被调用,,执行的时间也会很短

6.尽量多使用commit
使用commit会释放以下资源
回滚段上用户回复数据的信息
被程序语句获得的锁
Redo log buffer 中的空间
Oracle为管理上述3种资源中的内部花费

7.避免在索引列上使用函数

# 假设sal列上建立的索引
# 低效
select * from dept where sal*2>2500;

# 高效
select * from dept where sal>2500/2;
posted @ 2022-04-28 15:50  Oh,mydream!  阅读(29)  评论(0编辑  收藏  举报