【问题标题】:sqlsrv_connect() keep connection in application pool activesqlsrv_connect() 保持应用程序池中的连接处于活动状态
【发布时间】:2012-10-13 06:32:32
【问题描述】:

我有一个通过 sqlsrv_connect 连接到本地 SQL 服务器数据库的 php 脚本。

  $serverName = "127.0.0.1\MSSQLSERVER";
  $userName = 'username';
  $userPassword = 'pass';
  $dbName = "name";
  $connectionInfo = array("database"=>$dbName,
                              "UID"=>$userName,
                              "PWD"=>$userPassword, 
                              "MultipleActiveResultSets"=>true,
                              "ConnectionPooling"=>true);

  sqlsrv_configure('WarningsReturnAsErrors', 0);

  $this->connection = sqlsrv_connect( $serverName, $connectionInfo);

我第一次加载这个代码的网站大约需要 1.5 秒

$this->connection = sqlsrv_connect( $serverName, $connectionInfo);

如果我重新加载页面,同一行的执行时间为 0.0012 - 0.0020 秒(快得多)

如果我等待 10 分钟并尝试再次重新加载页面,则连接的执行时间超过 1 秒

我能做些什么来保持连接“活跃”以使sqlsrv_connect 运行得更快?

  1. IIS 应用程序池空闲关闭已禁用
  2. MSSQL Server 连接超时为 0

提前致谢

【问题讨论】:

    标签: php sql sql-server-2008 database-connection connect


    【解决方案1】:

    你为什么使用 sqlsrv_connect()?

    看看 mysqli 更新得多,并且仍在开发中。(我的英语)

    Mysqli PHP manual

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-03
      • 2021-09-13
      • 2013-08-27
      • 2019-09-01
      • 2023-03-03
      • 1970-01-01
      • 2012-07-05
      相关资源
      最近更新 更多