
PHPで、Postgresに対して大量(3万件前後)のINSERT、
もしくはUPDATEを繰り返すバッチ処理を実装しております。
当方、PHP歴が浅く、PHPで大量件数を取り扱う際の注意点やTIPSなどの知識が
乏しく、処理速度の改善や、メモリ使用量の軽量化などを行いたいのですが、
どこから手を付けてよいのやら取っ掛かりすら掴めない状況です。
そこで、有識者の皆様にお伺いしたいのですが、
PHPで大量件数を処理するにあたって、
1.処理速度の改善に役立つTIPS
2.メモリ使用量の軽量化に役立つTIPS
この2点をお伺いしたく、何卒宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
1.処理速度
単純にINSERTで済む場合はCOPY文やpsqlによる手続きが便利かも知れません。
UPDATEとINSERTがどちらも含まれる場合、最初にINSERTとUPDATEの二つに分けてしまった方が早いかも知れません。
SELECT primary_column FROM table_name WHERE primary_column IN (プライマリーキーの配列3万前後);
とかで。
PRIMARYキーが40バイトだったとしても、1MB程度のメモリ量で済みそうです。
2.メモリ使用料について
3万件のデータはファイルに入っていると思うので、単純にfopen+fgetsにしてやればそれほどメモリは使わないんじゃないかと思います。
memory_get_usage()関数を使えれば、実際にメモリ量を見てやると良い気がします。
メモリやPHPの処理よりも、Postgre側やCPU、iowaitの方が厳しくなりそうな気がしますし、問題が発生したら考えてみてはいかがでしょうか。
PHP上ではout of memoryかset time limitくらいでしか止まらない気がします。
マシンスペック次第ではCPUが100%行きそうですね。
なんか取り止めが無かったのですが、そんなところでいかがでしょうか。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- 物理学 統計力学における平衡状態の定義について 4 2022/12/27 01:47
- CPU・メモリ・マザーボード メモリが使用可能にならない 3 2022/08/13 17:13
- デスクトップパソコン 仕事で使うPC 10 2023/04/23 00:27
- 農学 化学の質問です。 米ヌカの自然発火について。 米糠を大気中に晒して少量の水数滴垂らして放置すると着火 2 2022/10/25 19:28
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- 医療・安全 「日本のコロナ対策はワクチンに偏り過ぎている」 と思いませんか? 率直に疑問を感じます。 現在、有効 5 2022/09/02 19:30
- バックアップ Windows11パソコンのデータを数クリックで完全に引っ越しするにはどうすれば良いでしょうか? 5 2022/10/11 14:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メモリのセグメント違反の解決...
-
C言語で、メモリを解放しないで...
-
メモリが不足しています(VBA)
-
VBAの配列サイズとメモリに関して
-
Access Violationについて
-
closeとメモリの開放について
-
ファイルマッピング関数で失敗
-
【C言語】再帰が時間がかかる...
-
H8 マイコン セクションの設...
-
C言語における再帰呼び出しの...
-
クリスタルレポートでメモリ不...
-
エクセルVBA 大容量CSVファイル...
-
AIXでのプロセス使用メモリの最...
-
マイコンのメモリマップについて
-
sil_rew_memのメモリアクセスに...
-
メモリ不足
-
マクロのスピードがダウンする??
-
「memcpy」と「strcpy」について
-
移動可能メモリ
-
組み込み系でのmallocについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
メモリが不足しています(VBA)
-
メモリのセグメント違反の解決...
-
「memcpy」と「strcpy」について
-
メモリ不足
-
「ヒープサイズの設定」て何?
-
エクセルのメモリ使用状況/Appl...
-
C言語における再帰呼び出しの...
-
ファイルマッピング関数で失敗
-
ExitProcessの関数コールについ...
-
EXCEL-VBAにてADOのレコードセ...
-
エクセルVBA 大容量CSVファイル...
-
ExcelのVBAでメモリ解放できない
-
メモリを解放しないとどうなる?
-
バッチファイルでの実行EXEのメ...
-
Bitmapを重ね合わせる方法
-
ルネサスマイコン(R8C) ビルド...
-
C,C++プログラムの強制終了時の...
-
C言語:関数のメモリ上でのサイ...
おすすめ情報