2011-09-22 1 views
0

質問はかなり簡単です。私はどちらかを選ぶことはできません。 devのドキュメントでは、MySQLは、インデックスがテーブル全体を検索するのではなく、その位置から行を選ぶことを指定しています。

サポスト私は、評価に基づいて私のPostsテーブルの20の最高の記事を取得する要求があります。検索された投稿のうちidをキャッシュするか、それ以上のリクエストに応答するために全結果をキャッシュするべきですか?
Btw私はファイルベースのキャッシュを使用しています。私はPHPでクエリ全体をキャッシュするか、私はちょうど行の主キーをキャッシュする必要がありますか?

答えて

2

メモリが安く、20行のキャッシュには通常多くのメモリが必要です。

私は次のように言います:新鮮でなければならないデータがない場合は、完全な行をキャッシュします。

+0

私はファイルベースのキャッシュを使用しています。 – shahalpk

+0

次に、アプリケーションサーバー上のデータベース接続またはディスク読み取りが主な関心事である場合は、重み付けする必要があります。 ある種のメモリキャッシュを実装することをお勧めします。 データベースの読み込みは、おそらくデータベースからのデータへのアクセスよりも高速です。 –

+0

私は間違いなく1つのdbコールを今度は20個の個別dbコールに選択しました。パフォーマンスについて心配するのは少し早いですね。それが問題になったら、あなたはただそれを変更します。 – Clutch

0

キャッシュ規則 - 使用確率の高いデータをキャッシュします。この場合、確率は高いのでキャッシュしてください!

関連する問題