通过将结果保存到文本文件来减少MySQL查询

时间:2013-09-08 11:31:29

标签: php android mysql

我有一个应用程序,通过PHP以10秒的间隔将数据从android发布到某些MySQL表。同一个PHP文件在同一个数据库中的某些其他表上执行大量查询,并在应用程序中下载和处理结果(使用DownloadWebPageTask)。

我通常以这种方式连接20到30个客户端。每个客户端查询的大多数数据与所有其他客户端的数据相同。如果30个客户端每10秒运行相同的查询,则将运行180个查询。事实上,每个客户端都运行多个查询,其中一些查询在循环中运行(循环遍历另一个查询的结果)。

我的问题是:如果我以某种方式生成包含相同数据的文本文件,并且每x秒更新一次该文本文件,并让所有客户端读取此文件而不是自己运行查询 - 这是一种更好的方法吗?它会减少服务器负载吗?

2 个答案:

答案 0 :(得分:1)

在我看来,你应该考虑使用memcache。

它允许您将数据存储在内存中,这比磁盘上的文件或mysql查询更快。

它还将减少数据库的负载,这样您就可以使用相同的服务器/数据库设置为更多用户提供服务。

Memcache非常易于使用,互联网上有很多教程。

这是一个让你入门的人:

http://net.tutsplus.com/tutorials/php/faster-php-mysql-websites-in-minutes/

答案 1 :(得分:0)

您需要的是缓存。您可以缓存来自数据库的数据,也可以缓存页面本身。下面你可以找到几个关于如何在PHP中做同样的链接:

http://www.theukwebdesigncompany.com/articles/php-caching.php http://www.addedbytes.com/articles/for-beginners/output-caching-for-beginners/

是的。这将大大减少DB服务器负载。