程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle分析表簡介

Oracle分析表簡介

編輯:Oracle數據庫基礎

Oracle分析表是Oracle數據庫管理的重要部分,下面就為您詳細介紹Oracle分析表方面的知識,希望對您學習Oracle分析表方面能有所幫助。

1、分析SQL:
analyze table tablename compute statistics
等同於 analyze table tablename compute statistics for table for all indexes for all columns

for table的統計信息存在於視圖:user_tables 、all_tables、dba_tables

for all indexes的統計信息存在於視圖: user_indexes 、all_indexes、dba_indexes

for all columns的統計信息存在於試圖:user_tab_columns、all_tab_columns、dba_tab_columns

刪除分析SQL:

analyze table tablename delete statistics 會刪除所有的statistics

2、Oracle分析表的作用:為了使基於CBO的執行計劃更加准確

DBA_tables的數據有變化,可做對比。詳見官方文檔:

Use the ANALYZE statement to collect non-optimizer statistics, for example, to:

Collect or delete statistics about an index or index partition, table or table partition, index-organized table, cluster, or scalar object attribute.
Validate the structure of an index or index partition, table or table partition, index-organized table, cluster, or object reference (REF).
Identify migrated and chained rows of a table or cluster.

dbms_stats的作用主要是替代analyze的收集統計信息這一塊的功能,且在這一方面做了相當大程度上的增強。

以analyze table table_name compute statistics;這條為例,生成的統計信息會存在於user_tables這個視圖,查看一下select * from user_tables where table_name='table_name';
觀察一下NUM_ROWS,BLOCKS,AVG_SPACE,AVG_ROW_LEN幾列你就會明白,這就是變化。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved