PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
8463 99/09/30 22:38:43 RE(13):ROWNUM(Oracle) By peanuts
8462 99/09/30 21:10:21 RE(12):PB6.5: 指定した行数だけ検索したいのですが By koh_san
8454 99/09/30 15:06:29 RE(11):PB6.5: 指定した行数だけ検索したいのですが By ジュワッチ
8453 99/09/30 14:59:26 RE(10):ROWNUM(Oracle) By M.M
8452 99/09/30 14:54:33 RE(9):PB6.5: 指定した行数だけ検索したいのですが By まこと
8450 99/09/30 14:32:46 RE(8):ROWNUM(Oracle) By M.M
8448 99/09/30 14:16:33 RE(7):ROWNUM(Oracle) By てとらぽっと
8444 99/09/30 13:30:28 RE(6):PB6.5: 指定した行数だけ検索したいのですが By STRATOVARIUS
8442 99/09/30 13:09:48 RE(5):ROWNUM(Oracle) By まこと
8436 99/09/30 10:34:45 RE(4):PB6.5: 指定した行数だけ検索したいのですが By てとらぽっと
8435 99/09/30 10:06:11 RE(3):PB6.5: 指定した行数だけ検索したいのですが By まこと
8433 99/09/30 09:29:52 RE(2):PB6.5: 指定した行数だけ検索したいのですが By てとらぽっと
8430 99/09/29 22:37:48 RE(1):PB6.5: 指定した行数だけ検索したいのですが By peanuts
8428 99/09/29 21:58:44 PB6.5: 指定した行数だけ検索したいのですが By koh_san

カテゴリ:データウィンドウ
日付:1999年09月30日 22:38 発信者:peanuts
題名:RE(13):ROWNUM(Oracle)

koh_sanさん、てとらぽっとさん、まことさん、STRATOVARIUSさん、M.Mさん、こんばんは。

>ところでROWNUMがふられた後にorder by句が効くとのことですが、
>いっそのことSelect文でorder by句の記述を止めてしまい、データウィンドウの
>ソート機能でソートしてしまえば良いのではないでしょうか。

>よく考えたら、あまり意味のない処理ですね。
>ROWNUMの順番とソートの順番になんにも関係なければ、いくらDWでソートしても
>次頁を読み込んだ瞬間、ソート結果がおかしくなります。

>あとは、\"Select?orderby?\"の結果をテンポラリのテーブルに挿入して、
>そのテーブルからSelectするとか、ストアドプロシージャを作成して、
>PBに結果を返す時、ソートの順番を表す変数を付加してPBに返すといった
>処理を追加する手になるのでしょうか。

話が膨らんでますね。
そう言えば私もソートで悩んでいたような。。。
ORDER BYを使わずに、条件の指定によってORACLEに内部的なソート&マージを発生させる
テクニックもありますが、忘れてしまいました。ORACLEパフォーマンスチューニングの本を
参考にした記憶があります。

あと、Viewを作るといいかもしれませんね。(ViewのSELECTでROWNUMってOK?)

忙しくて実験する時間が無いので推測モードに入りますが、DWのプロパティを必要な行だけ
検索として、Retrieveの後、SetRow()かScrollToRow()を呼べば指定行まで検索してくれるかも。
その後、DBCancel()を呼んで完了。
うまく行けば良いのですが。。。

やはり、RitrieveRowイベントに記述するのが良いのでは?
データ量によりますが、数100件程度なら、それほどパフォーマンスの違いを感じることはないと思
いますけど。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

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

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