-2

ブロックを作成すると、mysql に大きな負荷がかかり、テーブルをロックすることがわかりました。X分間、phpを使用してmysqlの結果をファイルまたはメモリにキャッシュするにはどうすればよいですか?

$result = mysql_query("SELECT * FROM dle_post WHERE (approve='1')  
                        AND (category LIKE 'something' $all_movies)
                        AND date >= '$monthagodate'  
                        AND date < '$curdate' + INTERVAL 1 day  
                        ORDER BY date DESC LIMIT $more,$number_of_topics");
4

2 に答える 2

1

テーブル データが頻繁に更新されていない場合は、MySQL クエリ キャッシュを使用します。それ以外の場合はmemcachedを使用します。

于 2012-12-25T19:52:01.273 に答える
0

ほとんどの場合、キャッシュは必要ありません。そして、あなたのようなケースでは、それは単なる松葉杖であり、適切な解決策ではありません.

サーバーに大きな負荷をかけるクエリを作成した場合、結果をキャッシュするのではなく、そのクエリを最適化する必要があります。

このクエリを実行explainして、インデックスを使用しない理由を調べます (存在する場合)。

于 2012-12-25T19:58:44.650 に答える