为了提高运行效率,减轻Oracle的负担,在数据量较大的情况下,一些小小的细节将会提高数据库的性能,节省SQL语句的执行时间。
1.避免使用“*”替代所有列
使用“*”替代所有的列,可以降低编写SQL语句的难度,减少SQL语句的复杂性,但是却降低了SQL语句的执行效率。原因是在解析SQL语句的时候,它还要去查询数据字典得到表的字段。
2. 减少表的查询次数
尽量减少表的查询次数,主要是指能使用一次查询获得数据,尽量不要去通过两次或更多次的查询获得。可以用连接查询地方尽量不要用子查询。
3. 用EXISTS代替IN
Exist只检查行的存在性,而In检查实际的值,在子查询中,Exists提供的性能通常比In提供的性能要好。因此建议使用Exists替代In,使用Not Exists替代Not In。
4. 走索引查询时候,需要注意如下几项
避免对索引列使用NOT关键字或者不等于(!=)
索引列不应该参加任何形式的计算
进行模糊匹配的时候开头不要加%、_等等匹配符号
这些只是比较常见的SQL优化,有时候还是要根据具体的情况而定,欢迎各位补充。
本文暂时没有评论,来添加一个吧(●'◡'●)