oracle sql优化

oracle sql优化

小白一枚,在同事的帮助下进行了sql优化,总结方法,记录一下,仅供参考,还望批评指正

未优化前

oracle sql优化oracle sql优化
从sql执行计划上可以看出,主表总记录在6万左右,查询耗时68秒,全表扫面(TABLE_ACCESS_FULL)主要集中在 TB_ORDER_CUS_INFO 这张表上,结合sql去看,可以猜测由于TB_ORDER_CUS_INFO(ACC_NUMBER)字段没有索引造成。所以把该字段添加索引。

处理后

oracle sql优化
oracle sql优化
添加完索引后,全表扫面变为索引范围扫面,耗时减少到1秒。

总结

优化sql语句时,先查看sql执行计划,找到全表扫面的语句,在对应字段上添加索引,使其全变扫描变为索引扫描,可提高sql执行效率