none
sql server compact 3.5 でリミット処理 RRS feed

  • 質問

  • お世話になります。

    sql server compact 3.5で5000件程度のデータを、ページ遷移(1ページ50件)で表示したいと思っています。

    sql server compact 3.5では、LIMIT句が使えないため、回りくどい方法で取得しているのですが

    恐ろしくレスポンスが悪いです。

    -------------------------------

    SELECT  TOP (50) 項目1, 項目2, 項目3,・・・・
    FROM TABLE
    WHERE     (商品コード NOT IN
    (SELECT      TOP (CNT) 商品コード
    FROM       TABLE AS TABLE_1 
    ORDER BY       項目1, 項目2, 項目3))
    ORDER BY       項目1, 項目2, 項目3

    ※CNT ⇒ ページ数*50

    -------------------------------

    何かレスポンスの出るいいSQLは無いでしょうか?

    2015年7月22日 8:26

回答

  • 5000件程度と分かっているのであれば全件取得し、アプリケーション側でページングした方が早いかもしれません。

    そうでなくSQLで解決したいのであれば適切なインデックスを作成されてみてはどうでしょうか?

    • 回答の候補に設定 星 睦美 2015年7月23日 6:10
    • 回答としてマーク 星 睦美 2015年7月27日 7:55
    2015年7月22日 12:28

すべての返信