WEB开发网
开发学院数据库Oracle 优化数据库大幅度提高Oracle的性能 阅读

优化数据库大幅度提高Oracle的性能

 2007-05-11 12:23:06 来源:WEB开发网   
核心提示: 请注意上面分析中的TABLE ACCESS(FULL),这说明该语句执行了全表扫描,优化数据库大幅度提高Oracle的性能(3),而且查询使用了21.38秒,这时表还没有经过分析,查询使用了PK_AJZLZ索引,磁盘I/O大幅减少,下面我们来对该表进行分析:SQL> analyze

请注意上面分析中的TABLE ACCESS(FULL),这说明该语句执行了全表扫描。而且查询使用了21.38秒。这时表还没有经过分析。下面我们来对该表进行分析:  SQL> analyze table CASE_GA_AJZLZ compute statistics;

表已分析。已用时间: 00: 05: 357.63。然后再来查询:  SQL> select count(*) from CASE_GA_AJZLZ;
  COUNT(*)
  ----------
  346639
  
  已用时间: 00: 00: 00.71
  
  Execution Plan
 
  0 SELECT STATEMENT Optimizer=FIRST_ROWS (Cost=351 Card=1)
  1 0 SORT (AGGREGATE)
  2 1 INDEX (FAST FULL SCAN) OF 'PK_AJZLZ' (UNIQUE) (Cost=351
  Card=346351)
  …………………………

请注意,这次时间仅仅用了0.71秒!这要归功于INDEX(FAST FULL SCAN)。通过分析表,查询使用了PK_AJZLZ索引,磁盘I/O大幅减少,速度也大幅提升!下面的实用语句可以用来生成分析某个用户的所有表和索引,假设用户是GAXZUSR:  SQL> set pagesize 0
  SQL> spool d:analyze_tables.sql;
  SQL> select 'analyze table '||owner||'.'||table_name||'
compute statistics;' from dba_tables where owner='GAXZUSR';
  SQL> spool off
  SQL> spool spool d:analyze_indexes.sql;
  SQL> select 'analyze index '||owner||'.'||index_name||'
compute statistics;' from dba_indexes where owner='GAXZUSR';
  SQL> spool off
  SQL> @d:analyze_tables.sql
  SQL> @d:analyze_indexes.sql

上一页  1 2 3 4  下一页

Tags:优化 数据库 大幅度

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接