-4

更新を挿入するとき、私は

 $sql = sprintf("INSERT INTO emp_detail  VALUES ('%s')", implode ("', '",$formData));
    if (!mysql_query($sql,$con)){die('Error: ' . mysql_error());

上記のコーディングスタイルでは、サーバーマシンの速度が低下します。以下のようにコーディングするのではありません。

$sql ="INSERT INTO emp_detail  VALUES ('aa','bbb','ccc');
 if (!mysql_query($sql,$con)){die('Error: ' . mysql_error()); 

私は実行時間、パフォーマンスなどを意味します。

4

1 に答える 1

1

文字列補間とimplode呼び出しはデータベースサーバーへのラウンドトリップ時間よりも桁違いに高速になるため、実行時間の違いを測定するのは困難です。ミリ秒に対してナノ秒を話している。

しかし、あなたは間違った質問をしているのです。アプリケーション内でリテラルSQLステートメントを書き出すことは非常に悪い習慣です。レベルが低すぎて、重要なアプリケーション内で持続可能ではありません。

使用する必要があるのは、データベースの内容を管理するためのDoctrineのようなものです。YiiCakePHPのようなフレームワークも、この超低レベルの実装の多くを排除します。

を使用しているときはmysql_query、MySQLCドライバーと直接インターフェースしていることを忘れないでください。これはひどく悪い考えであり、実際にはPHP 5.5.0で非推奨になり、警告が生成されます。これを新しいアプリケーションで使用しないでください。少なくとも、MySQLのより良いラッパーを提供するためにPDOを使用してください。

于 2012-12-30T00:52:12.690 に答える