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、ええ、あなたの幹部を取り除き、phpクライアントライブラリを使用してください。また、コマンドラインから結果セットを解析して戻す必要もありません。

于 2009-10-05T23:33:03.307 に答える
1

execまたは他のプログラム実行関数の1つを使用して別のコマンドを起動するには、時間がかかります。いくつかのPHP関数/クラスを使用すると、おそらく常に高速になり、簡単になります。

  • 別のコマンドを起動する必要はありません
  • パラメータの受け渡しに問題はありません
  • 出力の解析なし:ネイティブPHPデータを出力として取得します
  • 「コマンドが見つかりません」などの問題が少ない、またはUNIX/LinuxとWindowsの違い
  • safe_modeなどで問題ありません

execを使用する代わりに、PHP拡張機能によって提供される関数を使用することは間違いありません。


補足として、この特定のケースでは:

  • PHP用のSQLServerドライバーは、現在Windowsプラットフォームでのみ使用できます-Linuxには存在しません:-(
  • PDOドライバーとしては利用できません:特定のsqlsrv_*機能を使用する必要があります
于 2009-10-06T04:23:38.873 に答える