我刚刚注意到我的一个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
更新:当我在Server Management Studio中打开“数据库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直接连接而不是使用主机名,所以这不是一个resolv问题。
答案 0 :(得分:0)
是否可能是其他进程与该数据库建立了开放连接,并且没有其他可用的连接?
答案 1 :(得分:0)
我重建了数据库并重新导入了所有数据,这似乎解决了问题。它可能一直是数据库碎片。