PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
7943 99/09/02 12:35:38 RE(8):PB6.5: 単項目アクセス時の関数、ドット表記のスピード By peanuts
7936 99/09/02 10:31:19 RE(7):PB6.5: 単項目アクセス時の関数、ドット表記のスピード By てとらぽっと
7935 99/09/02 09:54:48 RE(6):PB6.5: 単項目アクセス時の関数、ドット表記のスピード By STRATOVARIUS
7932 99/09/01 23:45:51 RE(5):PB6.5: DW更新処理後、更新したデータだけをDWに残す方法 By peanuts
7931 99/09/01 22:16:40 RE(4):PB6.5: DW更新処理後、更新したデータだけをDWに残す方法 By STRATOVARIUS
7930 99/09/01 21:18:48 RE(3):PB6.5: DW更新処理後、更新したデータだけをDWに残す方法 By peanuts
7929 99/09/01 20:40:25 RE(2):PB6.5: DW更新処理後、更新したデータだけをDWに残す方法 By STRATOVARIUS
7928 99/09/01 20:01:31 RE(1):PB6.5: DW更新処理後、更新したデータだけをDWに残す方法 By M.M
7927 99/09/01 19:54:37 PB6.5: DW更新処理後、更新したデータだけをDWに残す方法 By STRATOVARIUS

カテゴリ:スクリプトの記述
日付:1999年09月02日 09:54 発信者:STRATOVARIUS
題名:RE(6):PB6.5: 単項目アクセス時の関数、ドット表記のスピード

peanutsさん、おはようございます。たびたびありがとうございます。

ん?、ドット表記した場合のPB内部の動きがいまいち分からないです...
例えば、以下のような記述で1000件のデータを単項目ごとにアクセスする場合は関数の方が
早いということですか。(記述方法がおかしいですか?)

【ドット表記】
ds.object.colum_name1[1,1000] = dw.object.colum_name1[1,1000]
ds.object.colum_name3[1,1000] = dw.object.colum_name3[1,1000]
【関数】
For i=1 to 1000
  ds.Setitem(i,\'colum_name1\',dw.getitemstring(i,\'colum_name1\'))
  ds.Setitem(i,\'colum_name3\',dw.getitemstring(i,\'colum_name3\'))
Loop

私の感覚的には、関数の場合1000回Loopしますが、ドット表記だと構造体として、ごそっと移し
2回で済んでしまうような気がするため、ドット表記の方が早そうな感じがしてしまいます。
考え方が間違っているのでしょうか。


>ds.object.colum_name3[1,dw.Rowcount()] = dw.object.colum1_name3[1,dw.Rowcount()]
>で良いと思います。
>もちろん、dw.Rowcount()のところは変数で置き換えてください。

>蛇足ですが、短項目にアクセスするときはドット表記より関数のほうが速いです。
>また、関数、ドット表記ともにカラム名よりはカラム番号を指定したほうが若干ですが、速いです。
>(メンテナンス性に欠けますが...)
>参考まで。。。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser InternetExplorer5.X

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.