読者です 読者をやめる 読者になる 読者になる

SQLでめったに更新されない内容をselectする時はクエリキャッシュを使う

MySQL FuelPHP php

きょうのガッテン:クエリキャッシュを使って、同じ結果を何度もselectしないようにする


しらんかった・・・。

バージョン 4.0.1 以降、MySQL サーバ には Query Cache 機能があります。 クエリキャッシュの使用時、このキャッシュには、SELECT クエリのテキストと、クライアントに送られたその結果が格納されます。 後でまったく同じクエリを受け取ると、サーバはそのクエリの解析と実行をもう一度繰り返す代わりに、クエリキャッシュから結果を取り出します。
MySQL :: MySQL 4.1 リファレンスマニュアル :: 6.9 MySQL クエリキャッシュ

fuelのクエリビルダにもあるぜよ

$query = DB::query("SELECT * FROM users")->cached(3600, "foo.bar", false)->execute();

Query Builder Select - クラス - FuelPHP ドキュメント

クエリキャッシュ
クエリビルダは、クエリ結果のキャッシュもサポートします。これによりデータベースアクセスを減らすことができます。 これは、バックエンドでキャッシュクラスを使用し、キャッシュの読み込みと再生成の両方を行います。
cached() メソッドは、3つの引数をとります: 第一引数は有効期限 (キャッシュが有効となる秒数)、 第二引数は、クエリのカスタムキー (デフォルトでは、SQLmd5 ハッシュ値)、そして最後は、あなたが空の結果をキャッシュしたくないか を指定する、boolean値です。 カスタムキャッシュキーを使用すると、 手動で特定のクエリのキャッシュを削除したり、特定の階層へクエリキャッシュのセットを グループ化したりできるようになります。