システム開発ブログ/ 流通システム部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ シェア

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

PHP+MySQL:ファイル出力のレスポンス改善

中村
中村 (2010年1月13日 10:00)
流通システム部 / PHP

MySQLに保存してあるデータを1件1件テキストファイルに出力する処理を
PHPで作成しました。

最初は1件1件出力するのだからと、PHPのfile_put_contents関数を使用して
出力していました。
まず失敗だったのは出力する件数が多くなると、関数1回の呼び出し自体で
時間がかかっていました。
これは、この関数が実際には、fopen() → fwrite() → fclose() を繰り返しているのと
同じであるからということが分かりました。
ファイルが大きくなってくれば、Openで時間がかかるのも頷けます。

ならばと、同じファイルに出力するのだから、
まさにそのfopen() → fwrite() → fclose() を使用して最初にfopen()して、
レコード分だけfwrite()すれば良いではないかと考えました。
確かに前より速くなったとはいえ、満足するレスポンスではありませんでした。

よくよく考えてみたら、データベース上のテーブルにデータは入っているのですから
SQLServerのbcpコマンドのようなものがあるのでは?と思い立ち調べたところ
MySQL の SELECT構文で SELECT ・・・ INTO OUTFILE ファイル名 として
出力できることがわかりました。

この構文に変更したところ期待通りのレスポンスを得られることができました。

但しこの方法は、Webサーバーとデータベースサーバーが同じ場合など、
データベースから参照および書き込みできるフォルダに出力すれば良いときのみと
なりますのでご注意ください。

「システム開発ブログ」へのコメントやご意見等ありましたら、 ファンページまでお願いします。  Facebook のファンページ

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。