PHP+MySQLで検索システムを組んでおります。
例えば10万件のデータを検索する時、
SELECT col01,col02 FROM data WHERE category01 = 'A'
の様な形でSQLに問い合わせるのですが、
その検索結果をHTML上に1000件ずつ表示させたいとすると、
いわゆるページングを用いると思うのですが、
(方法1) LIMITで1000行ずつ区切ったSQLを発行する
例
SELECT ・・・ LIMIT 0,1000
SELECT ・・・ LIMIT 1001,2000
(方法2) 検索結果を配列に入れてしまい、array_sliceで1000件ずつ取り出す
方法1の場合は1000件ごとにSQLの発行が必要。トータルのデータ件数もどこかに格納しなければならないのでそのためのSQLが余分に必要。
方法2の場合だと10万件を抽出するSQLを発行したうえでそれらを一度に配列に入れる事になるので、なんとなく負荷的に重いイメージがするのです。
MySQLのデータにPHPでページングを用いる時、どういった方法が一般的でしょうか?
うまく説明出来ず大変申し訳無いです。
もしおわかりの方がおられましたらご教授お願いいたします。
回答3件
あなたの回答
tips
プレビュー