DB2でのSQLファイル実行

何度も調べては忘れてしまうのでDB2でのSQLファイルの実行方法を、備忘録として記述しておきます。

対話モードに入らず下記をコマンドから実行する形になります。

db2 -f ファイル名(パス)

このままだとステートメントのデリミタが設定されていないため、-tをつけます。
-vはエコー。


db2 -tvf ファイル名(パス)

忘れたら、対話モードに入り(コマンドプロンプトなどで db2 とだけタイプ)
LIST COMMAND OPTIONS
と入力すれば、オプションが表示される。

以下のサイトが参考になりました。

DB2で外部ファイルに書かれたSQLを実行させるには - 狂言日誌

Powered by ScribeFire.

|

DB2のFedelatedサーバーチューニング

で、はまっているわけです。
call nnrunstatsを実行しても効果なし。。
結構簡単なSQLなんだけどどうしてもpushdownしてくれない。。
リモートサーバーで検索までやってから結果を取得したいところ
なのに、それぞれのテーブルの情報をがさっと持ってきて(SHIP)
その後、NLJOIN、、、そんなんリモートでやってくれよー。。

ふぇでれーと相手が、Oracleならまだこの動きもわからないでも
ないけどDB2のしかも同じバージョン同士だったらもう少しかし
こく動いてほしーなー。。

きっと何か設定でうまくいくはずですが、、このままでは
身が持たないので、アプリ側で何とかするしかないかも。。。


powered by performancing firefox

| | コメント (0) | トラックバック (0)

DB2のコマンド行プロセッサで改行

DB2のコマンド行プロセッサで文字列中に改行を入れたい場合、、\nと書いてもダメ
そこでSQL的には、下記を文字列の改行部分につければいけるはずです。

例:update tbl_xxx set title='テスト' || CHR(10) || 'だよー' where xxx_id=1

これでデータとしては、

テスト
だよー

として入ります。

| | コメント (0) | トラックバック (0)

チューニングって難しい

いやはや、データベースのチューニングは、いままで結構やってきたけど今回は、ちょっとやっかいそうです。

今回のデータベースはDB2(v8.2)。IBMの製品って中々本がないので調べるのが大変。本屋に行ってみたら1冊だけ発見。↓(会社の人間2名も持ってたw)

DB2 逆引きリファレンス Book DB2 逆引きリファレンス

著者:太田 一郎,下佐粉 昭
販売元:技術評論社
Amazon.co.jpで詳細を確認する

ちょっと分厚いけど便利な一冊です。

さて、チューニングはというとrunstatsを実施してindexは使われるようになったが、、最終的にはアプリで検索期間を区切るのが手っ取り早そう。。(まあ結局アプリなんでしょう)

| | コメント (0) | トラックバック (1)