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


Reduce MySQL queries by saving result to textfile

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

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

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

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

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

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

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

这里有一个可以帮助您入门:

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

你需要的是

缓存。您可以缓存来自数据库的数据,也可以缓存页面本身。您可以在下面找到一些有关如何在PHP中执行相同操作的链接:

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

是的。这将大大减少数据库服务器负载。