2012-03-21 107 views
34

我在我的PHP应用程序中使用PDO。它连接到MySQL服务器在同一台服务器上:为什么构建PDO连接速度慢?

$db = new PDO(mysql:host=localhost;dbname=test, $username, $password); 

我创建了两个页面与其中一个包含调用创建PDO相同的输出(只是普通的HTML一些虚拟数据)。如果我打开不使用连接的页面,则响应速度在0.5到1秒之间。

+0

如何从数据库中获取数据而无需连接? – deceze 2012-03-21 07:59:16

+0

虚拟数据只是一些普通的HTML,没有任何数据库。 – 2012-03-21 08:02:12

+1

这种影响是不正常的。似乎你有服务器相​​关的问题。也许SQL服务器响应缓慢。尝试调查更多,但对我来说这似乎更像是ServerFault问题。 – 2012-03-21 08:03:28

回答

77

我一直在做一些谷歌搜索,并在阅读this thread后,我将localhost更改为127.0.0.1。解决了这个问题....

+2

您让我的一天!使用本地主机需要一整秒的连接,使用127.0.0.1大约需要一毫秒。 – CodeZombie 2013-02-08 00:41:58

+1

非常有帮助的研究。我试图找到解决方案,直到这有帮助。从1秒降到3秒以内。 – 2013-07-29 19:30:39

+8

有点'为什么':通过使用主机名,PHP被迫在DNS表中查找(慢!)。如果这是一张大桌子,可能需要很长时间才能找到该条目。通过使用静态IP地址,您可以完全跳过这个解决方案。您甚至可以在非本地主机IP的生产环境中执行此操作! – Gerben 2013-08-01 14:33:25