【发布时间】:2011-07-07 07:39:50
【问题描述】:
我刚刚注意到我的一个 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 直接连接而不使用主机名,所以这不是一个解决问题。
【问题讨论】:
-
这些数据库与网络服务器在同一台机器上吗?请提供有关基础架构的更多信息。
-
Raffael,这两个数据库都在同一台 Windows 机器上,我正在使用 Linux 服务器通过 PHP 连接它们。数据库 1 加载速度如此之快,这就是为什么我认为这不是网络问题,因为它们都在同一台机器/IP 上。
-
您使用的 PHP 版本是什么?
-
PHP 版本 5.2.6-1+lenny13 使用 MSSQL FreeTDS 库。
-
你是用DNS解析主机名还是直接连接IP地址?
标签: php sql sql-server