萨尔法保护 发表于 2018-9-24 06:35:17

oracle全表扫描的优化

全表扫描的优化  analyze table t1 estimate statistics;
  收集统计信息
  select * from t1;
  执行计划为全表扫描,假设代价为68
  select /*+ full(t1) parallel(t1,4) */ * from t1;
  使用并行查询的强制,代价为17
  alter table t1 pctfree 0;
  alter table t1 move tablespace users;
  select * from t1;
  执行计划为全表扫描,代价为63,比第一次要小.因为扫描的块少了.
  alter system set db_file_multiblock_read_count=8;
  执行计划为全表扫描,代价为98,因为一次读的块少了(默认是16),代价增加
  alter system set db_file_multiblock_read_count=32;
  执行计划为全表扫描,代价为40,因为一次读的块多了,代价减少

页: [1]
查看完整版本: oracle全表扫描的优化