sql >> データベース >  >> RDS >> Mysql

MySQLPHPPDOプリペアドステートメント-パフォーマンスの問題とセキュリティ

    これは「時期尚早の最適化」のカテゴリーに入ると思います。

    オーバーヘッドはどのくらい重要ですか?あなたはそれを測定しましたか?サーバーのパフォーマンスにまったく影響しますか?

    確率はそうではありません。

    プラス面としては、セキュリティの面で紛れもない利益があります(これはインターネットベースのショップにとって大きな懸念事項です)。

    欠点としては、パフォーマンスに影響を与える可能性があるというリスクがあります。あなたが提供したリンクでは、PDOの準備が適切に実装されていないと、状況によっては準備されていないステートメントよりもパフォーマンスがわずかに低下することを示しています。 5000回の実行でのパフォーマンスの違いは0.298秒です。

    取るに足らない。 「準備されていない」クエリがなしで実行されることに気付いた場合はさらにそうです ライブ環境で安全にするために必要な入力サニタイズルーチン。準備されたクエリを使用しない場合は、SQL攻撃を防ぐために何らかの形式の入力サニタイズが必要であり、その実行方法によっては、結果セットをマッサージする必要がある場合があります。

    結論として、重大なパフォーマンスの問題はありませんが、重大なセキュリティ上の利点があります。したがって、プリペアドステートメントを使用することの公式推奨。

    あなたの質問では、あなたは「一般的なeショップ」について話します。 「一般的なeショップ」には、パフォーマンスの問題があれば、それを心配するのに十分なトラフィックがありません。反対側のセキュリティの問題...



    1. Vertx JDBCクライアントでSQLクエリのパラメータソースとしてリストを使用するにはどうすればよいですか?

    2. MariaDBでのEXTRACT()のしくみ

    3. mysqlは最適化による順序でグループをカウントします

    4. Oraclesqlの単一行関数