小编Ray*_*Ray的帖子

SQL Server查询从PHP缓慢,但从SQL管理工作室快速 - 为什么?

当我在SQL Server Mgt Studio中执行查询时,我有一个快速运行的查询(1秒),但是当我使用FreeTDS v8,mssql_query()在PHP中运行完全相同的查询(在同一个db instace上)时,它需要很多更长(70秒以上).

我正在点击的表在我在Where子句中使用的日期字段上有一个索引.

是不是PHP的mssql函数没有使用索引?

我也尝试将查询放在存储过程中,然后从PHP执行SP - 同样会导致时间差异.

我也尝试在具有日期索引的表上添加一个WITH(INDEX(..))子句,但也没有运气.

这是查询:

SELECT
        1 History,
        h.CUSTNMBR CustNmbr,
        CONVERT(VARCHAR(10), h.ORDRDATE, 120 ) OrdDate,
        h.SOPNUMBE OrdNmbr,
        h.SUBTOTAL OrdTotal,
        h.CSTPONBR PONmbr,
        h.SHIPMTHD Shipper,    
        h.VOIDSTTS VoidStatus,
        h.BACHNUMB  BatchNmbr,
        h.MODIFDT ModifDt

  FROM  SOP30200 h
        WITH (INDEX (AK2SOP30200))
  WHERE
        h.SOPTYPE = 2 AND
        h.DOCDATE >= DATEADD(dd, -61, GETDATE()) AND
        h.VOIDSTTS = 0 AND
        h.MODIFDT = CONVERT(VARCHAR(10), DATEADD(dd, -1*@daysAgo, GETDATE()) , 120 )
  ;
Run Code Online (Sandbox Code Playgroud)

php sql-server

5
推荐指数
1
解决办法
2652
查看次数

标签 统计

php ×1

sql-server ×1