- MySQL の BLOB としてのファイル
- PHP から MySQL への root としての接続
- set_time_limit(0);ignore_user_abort(FALSE); PHPスクリプトの開始時
- PHP から mysql_unbuffered_query を使用する
- 各行を取得し、zip 形式でブラウザーに送信します (オンザフライで RAM メモリとディスク領域を節約します)。
- 接続が遅いクライアント (600Kb/s - 5Mb/s)
- 行を取得すると、その間に 1 分以上経過することがあります (内容は flush() で送信されます)
- クエリ実行前に SET GLOBAL wait_timeout=28800 および SET GLOBAL interactive_timeout=28800
- MySQL は正確に 60 秒で接続を閉じています (クライアントへのファイルのダウンロードが 1 分以上かかる場合)
- SHOW PROCESSLIST のクエリ ステータスは、開始から終了まで「ネットへ書き込み中」です。
mysql_unbuffered_query の途中で非アクティブ時に MySQL が接続を閉じるのを防ぐために、どの設定を調整できますか? RAM メモリとディスクを保存しています。