PHPのPDOで質問です。


全投稿数(2万前後)を取得しようとして
下記を実行した場合メモリーオーバーになってしまいます。

$conn->prepare($sql);
$stmt->execute();
$stmt->rowCount();

メモリーオーバーにならない方法はありませんでしょうか?

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2014/10/29 13:16:05
  • 終了:2014/11/05 13:20:04

回答(3件)

id:kazukichi_0914 No.1

かずきち。回答回数126ベストアンサー獲得回数82014/10/29 13:33:51

ポイント67pt

仮想メモリのメモリにのっからないならmysqlとかhddに投げるまでです。

id:gizmo5 No.2

gizmo5回答回数484ベストアンサー獲得回数1382014/10/29 13:44:26

ポイント67pt

SQL が明示されていませんが COUNT 関数を使えば良いと思います。

	$sql = "SELECT COUNT(*) FROM xxx";
	$res = $conn->query($sql);
	$count = $res->fetchColumn();

参考:
http://php.net/manual/ja/pdostatement.rowcount.php#example-1009

id:kujirahand No.3

kujirahand回答回数27ベストアンサー獲得回数22014/11/04 16:54:41

ポイント66pt

大量のデータを一度に取得しようとするので、エラーになってしまいます。
そこで、SQLに、LIMIT と OFFSET 入れて、少しずつデータを取得して、処理が完了したら、続きを読むようにしましょう。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません