2

私は可能な限り効率的にページ付けを行おうとしています。現在、私は500万を超えるレコードを持つデータベースを使用しています。

LIMIT pageSize、startIndexを次のように試してみました。Select(a.id)From Article a ........ LIMIT 50、0ここでは、pageSizeは50で、startIndex=0です。

しかし、これは、ページを深く調べない場合にのみ有効です。解決策は、startIndexを使用せず、pageSizeのみを使用することでした。

(a.id)を記事から選択a ........ ORDER BY a.id LIMIT 50

次のページは次のようになります。SELECT(a.id)FROM Article a WHERE a.id> lasId ORDER BY a.id

ただし、startIndexがないと、前に進むことしかできず、1つ後ろに進むことしかできません。

JavaとMysqlでページ付けを行うためのより良い方法はありますか?

4

2 に答える 2

0

あなたはいつでもこれを行うことができます:

int pageNum = ?;
int pageLength = 50;

String query = String.format(
    "SELECT ... LIMIT %d, %d",
    pageNum * pageLength,
    pageLength
);
于 2013-02-04T20:28:20.280 に答える
-1

MySQLでページネーションを行う適切な方法(大規模なデータセットを使用)については、次の記事をお読みください:http ://www.xarg.org/2011/10/optimized-pagination-using-mysql

于 2013-02-04T20:27:48.540 に答える