如何使用PHP更快地进行查询?

时间:2014-01-07 14:37:59

标签: php mysql game-engine

我在使用PHP查询数据库时遇到问题。我最近开始使用程序 engine001 创建一个MMO RPG ONLINE,我也使用PHP和MySQL来查询我的数据库的信息,但是查询需要很长时间(查询通常需要一秒)

步骤:

  1. 首先,我查询我网站上有.php文件的网页(site.com/file.php)
  2. 这个php文件,将查询到我的数据库
  3. 这是在页面上打印(回声),所以我的游戏选择值e然后做任何想做的事。
  4. 这里有一个例子,这个PHP文件将发送一个actor的新位置:

    include("mysqlconfig.inc");
    
    $id = $_REQUEST['id'];
    $positionX = $_REQUEST['positionX'];
    $positionY = $_REQUEST['positionY'];
    $query = "UPDATE players SET positionX = '$positionX',positionY = '$positionY' WHERE ID = $id ";
    
    $res = mysql_query($query);
    
    
    mysql_close($con);
    

    我不知道网络游戏是如何制作的,为什么它们如此之快,但这就是我的方式。这是我弄清楚如何做到这一点的唯一方法。

    我的问题是,有没有办法让它快一点?

1 个答案:

答案 0 :(得分:3)

我不认为这种方法对于实时游戏来说足够快。正如您所发现的那样,对玩家位置等内容进行数据库查询的速度太慢了。实时游戏通常不使用基于Web的后端,因为HTTP是无状态协议,但是您需要让游戏状态持续存在于进程的内存中以使其足够快。因此,您可能不得不考虑使用套接字将后端编写为自定义服务器。