アーカイブ

2014 年 2 月 のアーカイブ

Oracle SQLを実行しないで実行計画を取得する(EXPLAIN PLAN FOR)

2014 年 2 月 24 日 コメントはありません

UPDATE文やDELETE文など、直接SQLを実行しないで実行計画を確認したい場合があります。

そんな時に便利なのが、EXPLAIN PLAN文です。

EXPLAIN PLAN文を使うことで、SQLを実行しないでもOracleのオプティマイザが選択した実行計画を確認することができます。

使い方

実行計画を取得したいSQLの前にEXPLAIN PLAN FOR句を使用します。

SQL>EXPLAIN PLAN FOR
SQL>UPDATE EMP SET NAME=’xxx’ WHERE ID=’001′;

取得した実行計画を表示するには、DBMS_XPLAN.DISPLAYを使用します。

SQL>SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

 
もっと詳しく知りたいかたは、以下のページを参照してみてください。
>Oracle パフォーマンス・チューニングガイド(EXPLAIN PLANの使用方法)

http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05743-02/ex_plan.htm
 


カテゴリー: Oracle, 開発 タグ:

Oracle SQL を パラレルで実行してパフォーマンスを上げる方法(PARALLEL DML|DDL|QUERY)

2014 年 2 月 24 日 コメントはありません

データベースサーバのスペックが高くリソースに余裕がある場合、SQLをパラレルで実行することでパフォーマンスを大幅に上げることができます。

やり方

SQLを実行するSESSIONでパラレル実行を有効にします。
対象のSQLは、QUERY、DML、DDLの3種類です。

パラレル度(並列度)を指定することができます。

・QUERY

SELECT文を並列実行します。

ALTER SESSION FORCE PARALLEL QUERY PARALLEL 4;

・DML

INSERTやUPDATE、DELETEなどSELECT以外のSQLを並列実行します。

ALTER SESSION FORCE PARALLEL DML PARALLEL 4;

・DDL

CREATE TABLEやCREATE INDEXなどのSQLを並列実行します。

ALTER SESSION FORCE PARALLEL DDL PARALLEL 4;

もっと詳細な内容を知りたいかたは、以下のリンクを参照してみてください。

>Oracle データウェアハウス・ガイド(パラレル実行の使用)
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19217-02/usingpe.htm


カテゴリー: Oracle, 開発 タグ:

Oracle CREATE TABLE AS SELECT 文 で表のコピー(バックアップ)を作成する

2014 年 2 月 24 日 コメントはありません

テストなどで一時的に表のバックアップを作成したい場合があります。

Export/ImportユーティリティやDataPumpを使用しても良いですが、CREATE TABLE文で簡単に表のバックアップが取得できます。

やり方

以下のように、CREATE TABLE文の後に、as Select …とSELECT文を書くだけです。
バックアップなので、COMPRESS句をつけて表を圧縮しています。

 

CREATE TABLE EMP_BK COMPRESS AS SELECT * FROM EMP;

これで、簡単に表の定義やデータをコピーすることができます。
索引や制約は引き継がれないので、必要であれば別に作成が必要です。
また、統計情報も引き継がれないので新たに取る必要があります。


カテゴリー: Oracle, 開発 タグ: