ファン
検索
<< 2024年12月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
22
23 24 25 26 27 28
29
30 31
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
プロフィール
Y.Taki@AS400さんの画像
Y.Taki@AS400
IBM AS/400で稼働するシステムの開発・追加を担当して30年以上になります。使えば使うほどこの AS/400 が好きになりました。 こんなSEがいろいろな視点から様々な業務などについて語ります。

2024年10月01日

驚きのCHGPFコマンド(物理ファイルの変更)

●CHGPFとAlter Table

既存のデータベースに新たにフィールドを追加したい
そんな時に、SQLでDropして、Createし直す?
それとも、Alter TableでAdd Columnする?

もちろん、一般的なDBなら、これでOk
でも、AS/400のDB2なら、この方法もできるけど
DDSっていう昔ながらのデータベースファイルレイアウト記述を使えば

CHGPFコマンドで、変更したいDBと、その設計書のDDSを指定すれば
OSがDDSの通りに変更してくれる
●そんな便利なの

実は、私は最近知りましたー(笑)
どのバージョンからは知らないけど、かなり前から使えたみたい

臨床検査基幹システムで、システム拡張の度にDBにフィールド追加を繰り返してました
その時は、追加前のDBをどっかに保存し、追加後のDBを新規作成して
追加前のDB内容をCPYF(Copy File)コマンドで流し込み・・・

でも、これって結構めんどくさくてリスキー
だけど、CHGPF (あっ! Change Physical Fileの略ね)を知ってたら
もっとガシガシ使っていたのに・・・・
●ちなみに

CHGPFでは、dbの最後の次に追加でなくても
途中にでもフィールドを追加できますよー

SQL のは出来ませんけどねー(笑)
●ただだからといって

CHGPFやIBM AS/400データベース機能が凄いってわけではないんだけどね

AS/400のDB機能が凄い所は
早い
削除レコードの再利用が可能 (自動クリーニング機能みたい(笑))
開発言語との親和性が高い
こっちの方がシステムエンジニアとしては超重要

だって、レコード数はそれほど多くないのに、ファイル容量がでかくなって
レスポンスが落ちてくる・・・・なんで?
って時に、削除レコードの再利用が出来たら、それこそ放置プレイができる(笑)

これって、お客様やエンドユーザーに、削除領域の解放
DB2 for i : RGZPFM コマンドの実行
SQL : Vacuum や Optimize Table コマンドを実行
するしかないんですよね。

でも、DB2 for iはいつの頃からか、削除レコード再利用が可能となったので
RGZPFMコマンドを使う場面がほとんどなくなりましたね

たぶん、削除領域の管理で悩まれているシステムの方には
その悩みを解決する手段としては最高かも(笑)
だって、放置できるようになるんですからね

ごめんなさい・・・・途中から方向が変わっちゃいましたね(笑)



人気ブログランキング
人気ブログランキング



この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント: 必須項目

この記事へのトラックバックURL
https://fanblogs.jp/tb/12727924

この記事へのトラックバック
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: