Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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
在App Engine for PHP中优化MySQL连接的推荐方法是什么?_Php_Mysql_Sql_Google App Engine_Google Cloud Sql - Fatal编程技术网

在App Engine for PHP中优化MySQL连接的推荐方法是什么?

在App Engine for PHP中优化MySQL连接的推荐方法是什么?,php,mysql,sql,google-app-engine,google-cloud-sql,Php,Mysql,Sql,Google App Engine,Google Cloud Sql,我正在为一个移动应用构建一个非常传统的PHP/MySQL后端,过去我因为没有正确关闭MySQL连接而饱受折磨 如果我使用mysqli_connect()将基于应用程序引擎的PHP连接到Google Cloud SQL,如果用户会话可能很长,我如何确保将同时连接到我的Cloud SQL实例的数量保持在最低限度 我已经读到PHP5.3+支持mysqli_connect的持久连接,只要您在主机名前加上“p:”,但是云SQL在从App Engine连接时根本不使用任何主机名…您可以在mysql_conn

我正在为一个移动应用构建一个非常传统的PHP/MySQL后端,过去我因为没有正确关闭MySQL连接而饱受折磨

如果我使用mysqli_connect()将基于应用程序引擎的PHP连接到Google Cloud SQL,如果用户会话可能很长,我如何确保将同时连接到我的Cloud SQL实例的数量保持在最低限度


我已经读到PHP5.3+支持mysqli_connect的持久连接,只要您在主机名前加上“p:”,但是云SQL在从App Engine连接时根本不使用任何主机名…

您可以在
mysql_connect
中的第一个参数前加
p:

但您必须检查打开/关闭连接的时间与“数据”查询时间相比是否重要,如中所述:

如何最好地管理数据库连接取决于您的用例。例如,如果创建新数据库连接的时间大于检查和重用现有连接的时间,则建议使用连接池。相反,如果创建新连接的时间与测试现有连接是否处于活动状态并重用它的时间大致相同,那么我们建议您创建一个新连接来为每个HTTP请求提供服务,并在请求期间重用它。特别是,当您从Google App Engine连接到Google Cloud SQL时,后一种情况可能适用


要保持SQL连接的数量较低,您必须广泛使用缓存(例如使用memcached),并避免在不需要连接的情况下进行连接(即如果不需要连接,请不要在页眉中创建连接)。

太棒了!云SQL常见问题解答有很多我没有找到的东西,因为我正在寻找PHP特定的项目…谢谢!