[Seasar-user:15872] Re: OracleDialectのconvertLimitSQL()メソッドについて

newta [E-MAIL ADDRESS DELETED]
2008年 9月 29日 (月) 16:53:10 JST


newtaです。

そもそもSQLとして
ORDER BYで並びが確定していないならば
取得のたびに同じ並びを取得できることを期待してはいけないのでは?
(実行計画の変更やインデックスの再作成などが走ると、
 データが同じでも同じものが返ってくるとは限らない)


毎回同じ並びで欲しいのならばIDなどのキーをソート条件に加えた方がよいと思います。



2008/09/29 16:37 Yuuki Yoshida <[E-MAIL ADDRESS DELETED]>:
> お世話になります。吉田と申します。
> 現在Seasar2を使用してWebアプリの開発を行っています。
>
> ■環境
> (1) Seasar2 2.4.29
> (2) SAStruts 1.0.4-sp1
> (3) Oracle 11g (データベースのエンコーディングはUTF-8)
> (4) JDK 6 Update 7
>  (5) Apache Tomcat 6.0.18
>
> ■limit(),offset()を使用した場合の抽出処理について
> SQLファイルを外部へ用意して、selectBySQL()を使用しています。
> limit,offsetを使用した場合とそうでない場合で抽出されるデータが微妙に
> 変わってくるようです。
>
> テキストベースでは説明が難しいので、解析を行った資料を添付ファイルとして付けています。
> (Excelファイルです。)
>
> もし同様の現象が発生した方がいらっしゃいましたら、回避策等を教えて頂けると
> 有難いです。
>
> よろしくお願い致します。
>
> ---------
> Yuuki Yoshida
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>


Seasar-user メーリングリストの案内