首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP5 - SQLSRV太慢

PHP5 - SQLSRV太慢
EN

Stack Overflow用户
提问于 2017-10-31 20:24:53
回答 1查看 660关注 0票数 1

我正在使用sqlsrv从sql server数据库获取数据。此数据库位于PHP的不同服务器上(本地网络外部)。

我使用了一个带有很多UNION的查询。如果我在Management Studio上运行查询,获取所有数据大约需要4-5秒……但是如果我使用PHP和sqlsrv,它需要大约57秒!

这是我使用的代码:

代码语言:javascript
复制
        $connectionInfo = array("Database"=>$db, "UID"=>$u, "PWD"=>$p, "CharacterSet"=>"UTF-8");
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS);
    $tsql = $query;
    $stmt = sqlsrv_query($conn, $tsql, array(), array( "Scrollable" => 'static' ));
    $json = array();
            do {
                while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
                    $json[] = $row;                  
                }
                } while ( sqlsrv_next_result($stmt) );  
    echo json_encode($json);    

你知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2017-12-19 14:05:03

尝试以下代码:

代码语言:javascript
复制
$this->stmt = sqlsrv_query($this->conn, $sql, null, array( "Scrollable" => SQLSRV_CURSOR_FORWARD ));

SQLSRV_CURSOR_STATIC允许您以任何顺序访问行,但不会反映数据库中的更改。static是SQLSRV_CURSOR_STATIC的缩写形式。

请查看:https://docs.microsoft.com/en-us/sql/connect/php/cursor-types-sqlsrv-driver

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47035365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档