WEB備忘録(うぇぶびぼうろく)» MySQL


SQL_CALC_FOUND_ROWS

SQL_CALC_FOUND_ROWS(バージョン 4.0.0 以降)では、LIMIT 節を無視した場合に結果セットに含まれるすべてのレコード数を計算するよう MySQL に指示できる。 その後、SELECT FOUND_ROWS() を使用して、計算されたレコード数を取り出せる。

LIMITを使ってリストなどをページングする時に、全部で何レコードあるかも調べないといけないのでSQL_CALC_FOUND_ROWSを使い、次にSELECT FOUND_ROWS() で全レコード数を取得する。

一番初めの表示の時はページングの必要は無いので LIMIT 0,30などで取得し、SELECT FOUND_ROWS()で取得した全レコード数をhiddenに入れておく。

ページングの次へや戻るをクリックされたときは、hiddenの全レコード数を元にLIMITを計算して必要なレコードを取得する。

普通にウェブサイトでページングをしようとすると、最初に全レコードをカウントしないと出来ないが、このほうが大量のデータの時などは時間短縮が出来るようです。

LIMIT節を使用しなかった場合に何件のレコードが存在したかを知りたい時には、SQL_CALC_FOUND_ROWSでLIMITが付いたSQLを実行した直後にSELECT FOUND_ROWS()でレコード数を求めれます。

blogranking  にほんブログ村 ネットブログへ  FC2 Blog Ranking


トラックバック

このエントリーのトラックバックURL:
http://p-jisoku.com/mt33/mt-tb.cgi/17

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カテゴリー

About

2006年10月24日 02:46に投稿されたエントリーのページです。

ひとつ前の投稿は「CSS Maker」です。

次の投稿は「MTプラグイン集」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

広告

バナー

プチ自給自足、野菜、果物、柑橘、栽培日記
晴耕雨読夜web
WEB備忘録(うぇぶびぼうろく)
都道府県別お取り寄せグルメブログ
blogranking
にほんブログ村 ネットブログへ
FC2 Blog Ranking