Производительность: PHP и MS SQL Server: SQLCMD с использованием Exec или Driver - PullRequest
0 голосов
/ 06 октября 2009

В настоящее время я делаю запросы к моему SQL Server, используя SQLCMD, и запускаю это из функции PHPs exec (). Я надеялся уточнить, что это не так эффективно, как драйвер для SQL Server для 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 ]

2 голосов
/ 06 октября 2009

Ugg, да, избавься от своего exec и используй клиентскую библиотеку php. Вам также не придется разбирать ваши результирующие наборы обратно из командной строки.

1 голос
/ 06 октября 2009

Запуск другой команды, используя exec или одну из других Функции выполнения программы , занимает время; использование некоторых функций / классов PHP, вероятно, всегда будет быстрее и проще:

  • нет необходимости запускать другую команду
  • нет проблем при передаче параметров
  • без разбора вывода: вы получите нативные данные PHP в качестве вывода
  • меньше проблем, таких как «команда не найдена» или различия между UNIX / Linux и Windows
  • нет проблем с safe_mode и т.п.

Я бы определенно использовал некоторую функцию, предоставляемую расширением PHP, вместо использования exec.


В качестве обозначения, в данном конкретном случае:

  • Драйвер SQL Server для PHP в настоящее время доступен только на платформах Windows - не существует для Linux: - (
  • он не доступен в качестве драйвера PDO: вы должны использовать определенные sqlsrv_* функции
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...