質問: PHPとMySQLでWEBシステムを構築しています。 「サイト情報(サイト名、URL等)」や「管理者情報(管理者名、メールアドレス等)」など、 MySQLに保存し、各ページを表示する際に毎回SQLを実行しています。 ネットで検索すると「毎回同じSQLを実行するのは無駄。負荷がかかる」 と言う意見がありましたが、他の方はどうしているのかな?と思い質問しました。 ただし、以下の事例は思いつくので、それ以外でお願いします。 ・別のプログラムをインストールしたりサーバ設定を変更したりなど、既存の環境を変更する ・設定ファイルを出力し、それを毎回読み込ませる方法 ・セッションやクッキーで登録情報を保存し、読み込ませる方法 ※出来るだけ汎用性のある方法があればご意見下さい。
回答: MySQL の場合クエリキャッシュがあるので「毎回同じクエリ」であるなら大した負荷にもならないな。 もちろん全く変動しない値ならプログラム側で固定値を持つべきだろうけど。 頻繁には更新されないけど、ある程度更新の可能性があるデータなら、PHP側でのキャッシュの導入を検討すればよい。 PHPでパフォーマンス向上のためのキャッシュテクニック色々:phpspot開発日誌 巷では memcached が人気だが、サーバープログラムなのでちと敷居は高いかも。