データベース -> ORACLE -> PL/SQL

PL/SQLによる全テーブルの統計情報取得

SET SERVEROUTPUT ON
SET FEEDBACK OFF

DECLARE
  CURSOR CU IS
    SELECT TABLE_NAME テーブル FROM USER_TABLES;

BEGIN
    FOR CU_REC IN CU LOOP
        EXECUTE IMMEDIATE 'ANALYZE TABLE ' || CU_REC.テーブル || ' COMPUTE STATISTICS';
    END LOOP;
end;
/


※ ANALYZE TABLE
   (オプティマイザが使用する統計情報を収集してデータディクショナリに格納する)
   -- 全データを使用して統計情報を作成する
      ANALYZE TABLE テーブル名 COMPUTE STATISTICS;

   -- 全データの10%を使用して、統計情報を作成する
   ANALYZE TABLE テーブル名 ESTIMATE STATISTICS SAMPLE 10 PERCENT;

使用例

SQL> ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

セッションが変更されました。

SQL> SELECT TABLE_NAME,TO_CHAR(NUM_ROWS,'999,999,999'),LAST_ANALYZED FROM USER_TABLES;

TABLE_NAME                     TO_CHAR(NUM_ LAST_ANALYZED
------------------------------ ------------ -------------------
SALGRADE
BONUS
DEPT
EMP3
EMP2                                250,000 2011-10-19 16:37:14
EMP
SYSTEM_INFO

7行が選択されました。

SQL>

SQL> @ANALYZE_ALLTABLES.SQL

PL/SQLプロシージャが正常に完了しました。

SQL>
SQL> SELECT TABLE_NAME,TO_CHAR(NUM_ROWS,'999,999,999'),LAST_ANALYZED FROM USER_TABLES;

TABLE_NAME                     TO_CHAR(NUM_ LAST_ANALYZED
------------------------------ ------------ -------------------
SALGRADE                                  5 2011-10-28 15:30:47
BONUS                                     0 2011-10-28 15:30:47
DEPT                                      4 2011-10-28 15:30:47
EMP3                                 20,001 2011-10-28 15:30:47
EMP2                                250,000 2011-10-28 15:30:47
EMP                                 250,000 2011-10-28 15:30:49
SYSTEM_INFO                               3 2011-10-28 15:30:51

7行が選択されました。

SQL>



      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google