减少数据库连接

时间:2012-07-18 12:58:36

标签: php jquery mysql database-connection

我目前正在为我的服务器制作一个小网页,其中显示了播放它的玩家的一些统计数据。它工作得很好,但我只是想知道我是否可以减少与数据库的连接数量。目前,我在页面中有一些JQuery代码,用于刷新部分内容以显示最新数据。现在,我以前从未使用过JQuery,所以我这样做了:

<script>
 $(document).ready(function() {
     $("#blocks").load("blocks.php<? if($usePlayer){echo("?player=" . $player);} ?>");
     $("#global_stats").load("globalstats.php<? if($usePlayer){echo("?player=" . $player);} ?>");
     $("#top_entities").load("entities.php<? if($usePlayer){echo("?player=" . $player);} ?>");
   var blockRefresh = setInterval(function() {
      $("#blocks").load("blocks.php<? if($usePlayer){echo("?player=" . $player);} ?>");
   }, 5000);
   var globalStatsRefresh = setInterval(function() {
       $("#global_stats").load("globalstats.php<? if($usePlayer){echo("?player=" . $player);} ?>");
   }, 30000);

   $.ajaxSetup({ cache: false });
});
</script>

问题是,我正在重新加载的页面的所有三个部分都需要一个MySQL数据库连接。目前,我在每个页面都包含db.php,但这似乎效率很低。这样做的好方法是什么?

哦,页面可以在这里看到:http://mc.centrility.nl/stats/

1 个答案:

答案 0 :(得分:1)

好的,更详细的:

只与您的服务器all.php建立一个连接。正如RoryPickering所说,为此使用$ .ajax。

在服务器端,只调用all.php一次。

将数据库连接设置为持久性,因此您只需连接一次数据库。

我怀疑你只用一个查询就可以获取所有数据,所以我猜你必须不止一次地查询数据库。

获取所有数据并将其转换为JSON格式,然后返回给客户端。

在客户端,将JSON数据拆分为相应的区域/所需的子数据。