oracle一些命令使用技巧

1.plsql等非sqlplus应用,不能设置autocommit为on

这个是PLSQL developer工具的限制,它在SQLPLUS上面又包了一层,所以和SQLPLUS肯定会有些区别的,很多SQLPLUS参数设置都不能用,便于工具自身管理需要。

2.强制走索引查看执行计划命令

DROP  INDEX ind_dm;
CREATE INDEX ind_dm  ON dm ( organ _ code ) LOCAL ;

exec dbms_stats.gather_table_stats ( ownname =>'goodisif',tabname=> 'DM' , cascade => true );

由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要!

作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息(默认参数下是对表进行直方图信息收集,包含该表的自身-表的行数、数据块数、行长等信息;列的分析--列值的重复数、列上的空值、数据在列上的分布情况;索引的分析-索引页块的数量、索引的深度、索引聚合因子).

详见DBMS_STATS.GATHER_TABLE_STATS详解_cooperSun的博客-CSDN博客_dbms_stats.gather_table_stats

3.sql执行计划命令,hint 查询

 详见常见 Oracle HINT 的用法_JiekeXu的博客-CSDN博客_oracle的hint语法

--表明对表选择索引的扫描方法.
select /*+ INDEX ( t IND_DM )*/  t.* from DM t ;
--对表设置并发数
 select /*+ PARALLEL ( t ,8)*/  t.* from dualt ; --指定SQL 执行的并行度,这个值会覆盖表自身设定的并行度,如果这个值为default,CBO使用系统参数值。


版权声明:本文为njq774327136原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。