MSSQL/PHP: mssql_select_db()在某些数据库上花费2秒


MSSQL/PHP: mssql_select_db() takes 2 seconds on certain database

我刚刚注意到我的一个MSSQL数据库速度明显变慢了。奇怪的是,它是所有数据库中最小的,但却需要最长的时间才能打开。

使用mssql_select_db()打开数据库后,它可以正常查询,但初始的mssql_select_db()需要2秒。是什么原因造成的呢?

数据库1比数据库2大得多,有更多的表/行,它们都在同一个MSSQL服务器上,所以这不是网络问题。

Database 1
Connection/Selecting DB Time: 0.00554800033569
Query Time: 0.035463809967
Database 2 (Slow One)
Connection/Selecting DB Time: 2.40434789658
Query Time: 0.144586801529

更新:当我有"数据库2"在服务器管理工作室打开。Mssql_select_db()似乎正常运行,并且连接得很快,见下面

Database 1
Connection/Selecting DB Time: 0.00480604171753
Query Time: 0.0346729755402
Database 2 (Slow One)
Connection/Selecting DB Time: 0.00085186958313
Query Time: 0.0340950489044

这不是由太多活动连接引起的,我已经排除了这种可能性。什么好主意吗?

更新2:

我正在使用MSSQL FreeTDS库运行PHP 5.2.6-1+lenny13。我直接通过IP连接,不使用主机名,所以这不是一个解析问题。

可能是其他进程已经打开了到该数据库的连接,并且没有其他可用的可用连接?

我已经重建了数据库并重新导入了所有数据,这似乎已经解决了问题。