0

我目前正在使用 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 是否存在性能差异?

我知道这有点毛茸茸,但我非常感谢对这个决定的帮助。

谢谢大家

4

2 回答 2

2

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

于 2009-10-05T23:33:03.307 回答
1

使用 exec 或其他程序执行功能之一启动另一个命令需要时间;使用一些 PHP 函数/类可能总是更快——也更容易:

  • 无需启动另一个命令
  • 参数传递没问题
  • 不解析输出:您将获得原生 PHP 数据作为输出
  • 较少出现“找不到命令”或 UNIX/Linux 和 Windows 之间的差异等问题
  • 安全模式之类的没问题

我肯定会使用 PHP 扩展提供的一些函数,而不是使用 exec。


作为旁注,在这种特定情况下:

  • PHP 的 SQL Server 驱动程序目前仅在 Windows 平台上可用——Linux 不存在 :-(
  • 它不能用作 PDO 驱动程序:您必须使用特定sqlsrv_*功能
于 2009-10-06T04:23:38.873 回答