oracle语句常见优化方法
我们应用oracle数据库网站制造的进程傍边,我们会发明重视sql优化的人,同样一个体系,机能快了许多。下面介绍一些常用的sql优化机巧和重视点。
1、表尽量应用别号,字段尽量应用别号.字段名,如许子,可以削减oracle数据库解析字段名。并且把不须要的字段名剔除失落,只保存有效的字段名,不要一向应用 select *。
2、联系关系查询时,选择好主表。oracle解析器对from 后面的表的解析是从右到左的,所以把数据量较小的表作为主表,然后和其他表进行联系关系,假如存在三个以下表,把同时交叉联系关系的表作为主表,进步查询效力。
3、where 前提后面的的前提解析是从下向上,从后先前解析履行的,所以可以把过滤数据量较多的前提放在最后面。
4、多应用表中数据行的rowid,rowid代表着表中数据存在的物理地址。例如删除反复记载的时刻,可以依据rowid进行删除。
5、削减对表的查询,特殊在子查询中,能尽量少反复拜访表,就削减。
6、避免应用耗资本的操作,如distinct、Union、minus等这种须要全表查询的操作。
7、优化分组group by ,对group by字段要进行添加锁引,假如分组傍边含有查询前提,要改写为where前提进行过滤后,再进行分组,而不是直接进行 having 前提。
8、用EXISTS替代IN、用NOT EXISTS替代 NOT IN,因为 not in是低效的,它必需对该字段的全体数据进行排序。
9、要合理应用索引字段进步查询效力。特殊是常用的联系关系字段可以增长索引,主键、或者某些独一字段。
10、应用>=替代>,因为>=可以直接定位到=的地位,而年夜于必需先定位地位,然后再查询下一个数据。耗时纷歧样。
11、最后一个必定要学会查看履行筹划,查看相干查询前提是否进入索引,找出速。