[Seasar-user:12197] Re: [DBFlute]OutsideSql.autoPaging について
kubo
[E-MAIL ADDRESS DELETED]
2007年 12月 19日 (水) 15:09:11 JST
久保です。
渋谷さんへ
質問の内容とは別件ですが、
> 【外出しSQL】
>
> --#OfficeUserBean#
> --*USER_ID, OFFICE_ID*
>
> --!OfficeUserPmb extends SPB!
> --!!String userId!!
> --!!String userName!!
> --!!String officeId!!
> --!!String officeName!!
> SELECT
> /*IF pmb.isPaging()*/
> U.USER_ID
> , U.USER_NAME
> , O.OFFICE_ID
> , O.OFFICE_NAME
> -- ELSE count(*)
> /*END*/
> FROM
> USER_MSTR U
> , OFFICE_MSTR O
> WHERE
> U.BELONG_ID = O.OFFICE_ID
> /*IF pmb.userId != null*/ AND U.USER_ID LIKE '%' ||
> /*pmb.userId*/'U' || '%' /*END*/
> /*IF pmb.userName != null*/ AND U.USER_NAME LIKE '%' ||
> /*pmb.userName*/'U' || '%' /*END*/
> /*IF pmb.officeId != null*/ AND O.OFFICE_ID LIKE '%' ||
> /*pmb.officeId*/'O' || '%' /*END*/
> /*IF pmb.officeName != null*/ AND O.OFFICE_NAME LIKE '%' ||
> /*pmb.officeName*/'O' || '%'/*END*/
> ORDER BY
> U.USER_ID
> , O.OFFICE_ID
> ;
細かい話ではありますが、アドバイスです。
上記SQLですが、ORDER BY句も/*IF pmb.isPaging()*/で囲うと
select count(*)時のパフォーマンスが(少し)向上します。
/*IF pmb.isPaging()*/
ORDER BY
U.USER_ID
, O.OFFICE_ID
;
/*END*/
ドキュメントが追いついてなく大変申し訳ないのです。
http://d.hatena.ne.jp/jflute/20071219/1198041971
にて取り急ぎの利用方法を記載しましたので、
もしよければご覧になられて下さい。
Seasar-user メーリングリストの案内