見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理 by 武田 憲太郎

PHP Conference Japan 2024
採択
2024/12/22 13:15〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理

KentarouTakeda 武田 憲太郎 KentarouTakeda

PHP 8.4で追加された pg_result_memory_size() は、SQL実行結果の中でも memory_get_usage() に計上されない隠れたメモリ使用量を可視化します。特に大量データ処理時のメモリ不足リスクを軽減する重要なツールです。

この関数の実際の動作を見ながら、PHPでデータベースを扱う際の注意点と解決策を検討します。

  1. メモリの種類: PHPが管理するメモリとそうでないメモリ。これらはサーバの動作にどのような影響を与えるのか。
  2. 実例: PHP 8.4で実際に大量データを扱い、リソースのメモリ消費量を観測。
  3. 開発者へのインパクト: ライブラリやインフラストラクチャ層での考慮ポイント。リソース管理の重要性。

対象者:

  • PHP開発者で、メモリ管理やデータベース接続の効率化に関心がある方
  • PHP内部の実装について興味がある方