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, 開発 タグ:

WindowsにLAMPの開発環境としてXAMPPをインストールする

2014 年 1 月 19 日 コメントはありません

オープンソースのOS、Webサーバ、DBサーバを使用したLAMP開発(LAMPは、Linux、Apache、MySQL、PHPまたはPerlの頭文字)が流行っています。

Apache、MySQL、PHPの開発環境をとても簡単に準備できるXAMPPというパッケージをインストールしてみたいと思います。

LAMP開発でもローカル開発用のPCはWindowsを利用することが多いので、WindowsPCにインストールしたいと思います。

ダウンロード

SourceForgeのXAMPPプロジェクトからダウンロードすることができます。

http://sourceforge.jp/projects/xampp/

Windows版のインストーラをダウンロードします。

インストール

インストーラを起動してインストールを行います。

インストールするコンポーネントを選択します。

Apache、MySQL、PHPの他に、FTPサーバ(FileZilla FTP Server)、メールサーバ(Mercury Mail Server)、Javaアプリケーションサーバ(Tomcat)、Perl、phpMyAdmin、アクセス解析ツール(Webalizer)、MTA(Fake Sendmail)をインストールすることができます。

インストール先フォルダを選択します。

BitNami for XAMPPという、XAMPP環境に簡単にWordPressなどをインストールするサービスの紹介画面です。

チェックを外して「Next >」をクリックします。

インストールの準備完了です。「Next >」をクリックします。

インストール完了。

コントロールパネルが開きました。

この画面でApacheやMySQLを起動/停止したり、設定ファイルを修正したりできます。

インストール確認

ブラウザから「http://localhost/」にアクセスするとスプラッシュ画面が表示されます。

一番右の「日本語」を選択すると「XAMPP for Windows」の画面が表示されればインストール完了です。


カテゴリー: 開発 タグ:

[サクラエディタ]正規表現で検索した結果の一部を置換する方法

2014 年 1 月 18 日 コメントはありません

正規表現を使用して検索した結果の一部分だけを別の文字に置換したい場合があります。

正規表現の式集合(グループ化)という仕組みを使用して実現することができるので備忘録として記載。

どんなときに使うのか

以下のような検索・置換を行いたい場合に使用できます。

検索要件

ADDRESSから始まる行の郵便番号「130-0001 」だけを「130-0002」に変えたい。TELにも「130-0001 」という文字列はあるけど、こちらは置換したくない。

検索置換対象のデータ

ID:001
NAME:AAA
ADDRESS:130-0001 東京都墨田区吾妻橋
TEL:130-0001

式集合(グループ化)とは

正規表現の一部を(丸括弧)で囲むことでグループ化する事ができます。

グループにマッチした内容は後で利用することができます。グループ化した内容を利用するには$記号を使用します。

上記のADDRESSから始まる行の「130-0001 」の部分だけを置換する場合、以下のような正規表現になります。

検索条件

(^ADDRESS.*)130-0001(.*$)

置換文字列

$1130-0002$2

1つ目の丸括弧で囲まれたグループ(^ADDRESS.*)にマッチした結果は、$1で使用することができます。

2つ目の丸括弧で囲まれたグループ(.*$)にマッチした結果は、$2で使用することができます。

グループ化を利用した置換はとても便利で、検索結果の順序を入れ替えたりする際にも使えます。


カテゴリー: 開発 タグ: