Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP加快查询速度?_Php_Mysql_Game Engine - Fatal编程技术网

如何使用PHP加快查询速度?

如何使用PHP加快查询速度?,php,mysql,game-engine,Php,Mysql,Game Engine,我在用PHP查询数据库时遇到了时间问题。我最近开始使用engine001程序在线创建一个MMO RPG,我也使用PHP和MySQL来查询我数据库的信息,但查询时间太长(通常需要1秒时间) 步骤: 首先,我查询了一个包含.php文件(site.com/file.php)的网站网页 这个php文件,将查询到我的数据库中 这是打印(回声)在页面上,因此我的游戏选择值e,然后制作它想要的任何东西 这里我们有一个例子,这个PHP文件将发送演员的新位置: include("mysqlconfig.inc")

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

步骤:

  • 首先,我查询了一个包含.php文件(site.com/file.php)的网站网页
  • 这个php文件,将查询到我的数据库中
  • 这是打印(回声)在页面上,因此我的游戏选择值e,然后制作它想要的任何东西
  • 这里我们有一个例子,这个PHP文件将发送演员的新位置:

    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);
    
    我不知道网络游戏是如何制作的,为什么它们这么快,但我就是这样做的。这是我唯一知道怎么做的方法


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

    我认为这种方法对于实时游戏来说永远都不够快。正如您所发现的,对球员位置之类的东西进行数据库查询太慢了。实时游戏通常不使用基于web的后端,因为HTTP是一种无状态协议,但您需要将游戏状态保留在进程的内存中,以使其足够快。因此,您可能必须考虑使用套接字将后端编写为自定义服务器。

    也许您可以了解facebook是如何做到这一切的。(这只是我脑海中闪现的东西)。查看gamedev上的这篇文章:。我不知道您运行的是哪种硬件,但对于您的服务器来说,在关系数据库中运行这些类型的常量请求可能太多了。也许可以试试MonogoDB?CouchDB赢球……当然可以<代码>http://example.com?positionX=42'); 投球运动员--。如果没有玩家,你的系统会非常快。换言之,你完全可以接受,并且可以预期你的游戏会在几分钟内被摧毁。是的,这是另一个问题,但如果我只是使用一个帖子而不是请求,它应该更安全一点吗?这是我的恐惧D:该死的Thx,我想我必须对这一切进行更多的研究。D:我忘了放游戏了,你们可以测试一下: