性能:PHP和MS SQL Server:使用Exec或Driver的SQLCMD

时间:2009-10-05 23:07:46

标签: php sql-server performance exec sqlcmd

我正在使用SQLCMD对我的SQL Server进行查询,我从PHP的exec()函数运行它。我希望澄清这不如SQL Server for PHP的驱动程序效率高http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx。我不确定这是否与http://us3.php.net/manual/en/book.mssql.php相同?

我发现每次运行exec命令都是一个非常缓慢的响应,我希望在移动到这个新驱动程序并实现它之前得到这个确认。使用此驱动程序而不是使用exec函数启动SQLCMD是否存在性能差异?

我知道这有点蓬松,但我真的很感谢这个决定的帮助。

全部谢谢

2 个答案:

答案 0 :(得分:2)

Ugg,是的,摆脱你的exec并使用php客户端库。您也不必处理从命令行解析结果集的问题。

答案 1 :(得分:1)

使用exec或其中一个Program execution Functions启动另一个命令需要时间;使用一些PHP函数/类可能总是更快 - 更容易:

  • 无需启动其他命令
  • 参数传递没问题
  • 不解析输出:您将获得本机PHP数据作为输出
  • 较少的问题,如“找不到命令”,或UNIX / Linux和Windows之间的差异
  • safe_mode等没问题

我肯定会使用PHP扩展提供的某些功能,而不是使用exec。


作为旁注,在这个具体案例中:

  • 用于PHP的SQL Server驱动程序目前仅在Windows平台上可用 - 对于Linux不存在: - (
  • 它不能用作PDO驱动程序:您必须使用特定的sqlsrv_*函数