-2

我构建了一个块,结果在 mysql 上产生了巨大的负载并使表锁定。如何使用 php 将 mysql 结果缓存到文件或内存中 X 分钟?

$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 回答