1

私は自分の質問に対する最良の答えを探して、スタックや他のあらゆる種類のサイトを掘り下げてきました。

私は、情報管理システムの形で、非常に大きく成長している Web サイトのモンスターを開発しています。コアでは、PHP と MySQL から実行されます。より一般的な意味でコードを mysqli に更新しましたが、すべての機能を十分に活用することはできませんでした。それは私が今取り組んでいることの一部です。

私は準備されたステートメントについてたくさん読んだことがありますが、これは、再利用されるステートメントの数を考えると、確かに使用する必要があるものです。

  • 私は、約 50 の準備済みステートメントの領域での作成を検討しており、約 200 の異なるページで使用されています。これを行うための推奨される方法はありますか? 私が見たすべての例は、1または2を扱っています。
  • データベースなどを使用してサイトの成長を続ける性質のために、以前のmysqlで気に入ったことの1つは、クエリごとに指定された接続を必要とせず、mysqliを使用することです。このため、機能を微調整する必要がありました。これに対する推奨される解決策はありますか?

オブジェクト指向ではなく手続き型の形式でサイトを構築しましたが、使用する形式に関係なく、いつでも提案を受け付けています。

4

1 に答える 1

0

できる限り正確になるように努めますが、私は専門家ではありません。

  • 最初のポイント: おそらくStored Proceduresを探しているでしょう。基本的に、繰り返し使用するためにアプリケーションの特定のロジックを保存できます。

    ただし、Prepared Statementsは異なります。それらは基本的に「一度解析して何度も実行する」ことを意味しますが、サーバーに保存されず、接続間で実行されます。

    PHP では、各「ページ ロード」は独自の変数を持つ異なるスレッドであり、したがってデータベースへの接続であるため、Prepared Statementを再度使用することはできません。

  • 2番目のポイントについてmysql_query()は、最後に作成された接続を使用することを想定しているため、接続ハンドルを渡す必要はありません。

例えば:

mysql_connect();
mysql_query("SELECT * FROM table");

$link = mysql_connect();
mysql_query("SELECT * FROM table", $link);

同じだ。
したがって、接続を暗黙的に使用しても、スケーラビリティーは意味しません。

これは、おそらく間違った情報を提供することなく、私が書くことができる限りのことです.

于 2012-07-17T17:15:20.303 に答える