2

複数の PHP ページ間でリソース リンクを転送および/または共有するための秘訣はありますか? 同じデータベース内の同じユーザーへの別のリンクを取得するためだけに、サーバーがデータベースに接続し続けることは望ましくありません。

mysql_connect() から返されたリンクは、元のスクリプトの実行が完了すると自動的に閉じられることに注意してください。代わりに、各セッションの最後に手動で閉じる方法はありますか?

4

2 に答える 2

4

PHP は永続的な mysql 接続を許可しますが、欠点があります。最も重要なことは、アイドル状態の apache の子プロセスが、アイドル状態のデータベース接続を開いたままにしておくことです。データベース接続はかなりの量のメモリを占有するため、実際に使用されているときにのみ開く必要があります。

ユーザーが 1 分ごとに 1 ページを開く場合、データベース接続を継続的に開いたままにしておくよりも、使用していない 1 分のうち 59 秒間データベース接続を閉じ、必要に応じて再度開く方がはるかに優れています。

代わりに、おそらく接続プーリングを検討する必要があります。

于 2009-03-30T19:40:24.800 に答える
0

他の重いデータベース サーバーに対する Mysql の利点の 1 つは、接続が安価でセットアップが迅速であることです。

保存情報を取得するために多数の接続が必要な場合は、代わりに情報のキャッシュや、ディスクからの情報の取得などを検討することをお勧めします。いつものように、行われている SQL 呼び出しの数とタイプのプロファイリングは、ここで実際に次に何をすべきかを推測している誰よりもはるかに多くのことを教えてくれます。

于 2009-03-30T19:58:37.660 に答える