PHP - 为什么新的SQLSRV驱动程序比旧的mssql驱动程序慢?

Kev*_*cot 6 php sql-server

我使用PHP的旧驱动程序mssql有很多组件.我想切换到Microsoft的新驱动程序SQLSRV,但我的查询速度要慢得多.

我有很多进程处理+400 000行.

这是我的40 000行测试:

  • testOldDriver_mssql =行40000:1秒
  • testNewDriver_nonPDO =行40000:7秒
  • testNewDriver_PDO =行40000:4秒

这是我最大的进程(+48万行):

  • testOldDriver_mssql =第484856行:27秒
  • testNewDriver_nonPDO =行484856:120秒
  • testNewDriver_PDO =行484856:47秒
  • testPDO_ODBC =第484856行:24秒

新驱动程序肯定更慢吗?或者我错过了什么?

编辑1:

"旧驱动程序"是指不推荐使用的MSSQL库(请参阅php.net/mssql).

新驱动程序是由Microsoft直接创建的驱动程序(请参阅http://www.microsoft.com/en-us/download/details.aspx?id=20098)

我的疑问是

SELECT * FROM myTable 
WHERE pdvSaisie IN 
       (SELECT number FROM pdvs WHERE nom LIKE 'ZUEE %') 
Run Code Online (Sandbox Code Playgroud)

并使用直接query()(如果我使用准备好的声明,则没有准备和相同的结果).

编辑2:

添加了PDO/ODBC测试.惊喜,它更快:o