2017-12-14 33 views
-2

私のテーブルには5600,000以上のレコードがあります。非常に長い処理サーバーの応答の後にPAGINATE(15)を使用してレコードを取得しようとすると、内部サーバーエラー内部エラーまたは構成ミスが発生し、要求を完了できませんでした。Eloquentを使用して大規模データセットを処理するにはどうすればよいですか?

サーバー管理者、webmaster @ app.epicpaymentsny.comとエラーが発生した時間を知らせると、エラーの原因となった可能性があることを行っている可能性があるもの。このエラーについて

詳しい情報は、サーバーのエラーログに利用できる。

さらに、ErrorDocumentを使用して要求を処理しようとしているときに、500 Internal Server Errorエラーが発生しました。 "助けてください、事前にありがとう。

+0

を使用することであることを示唆しています陰茎拡大キャンペーン。 – Amarnasan

+1

laravelログに何が含まれているか確認しましたか?あなたの質問は何ですか? 5.6Mレコードはいつ大きなデータセットになりましたか?少なくとも私たちはあなたがエラーを出すログやクエリからのエラーがなければ、あなたに推奨事項を与えるのは難しいです。インデックスを使用せずにたくさんの結合ができますが、それは完全にクエリと無関係です。ログからのエラーなしではわかりません – rypskar

+0

クエリを表示できますか?これはあまり大きなデータセットではありません。正しいインデックス設定をしている場合は、クエリーするのに〜1秒しかかかりません。 – Ben

答えて

0

これはおそらくphp.iniの設定が原因です。

エラーログで詳細情報(PHPエラーログまたはlaravel/storage/logs)を確認できます。

それはpaginate()に問題php.iniでmemory_limitmax_execution_timeまたは他のいくつかの設定

0

そのことができます。 paginate()は、テーブル内のすべての行を取得し、合計行数をカウントして、必要なページの合計数を決定します。テーブルに5600,000行あるので、最終的にmax_execution_timeまたはmemory_limitに達する可能性のある結果を取得するのに時間がかかります。

私は最善の方法は、私はその電子メールの所有者は、この冬に彼のアドレスを使用するすべての電子メールスニファロボットのためのオープンなプレーンテキストで彼の電子メールを持って幸せ以上になりますポジティブだsimplePaginate()