答えて
接続を1回だけ開きます。接続の開閉は時間がかかります。あなたがすでに言ったように、PHP closes open connections at the end of the runtime automatically。
接続が必要なときはいつでもmysql_connect
を呼び出し、最後にPHPを閉じるようにしてください。 mysql_connect
は既に存在する接続をチェックするので、同じパラメータを使用してmysql_connect
を呼び出すと毎回新しい接続が開かれることを心配する必要はありません。また、1つ以上のスクリプトの実行に使用できるpersistent connectionsを使用することもできます。
永続接続または接続プールを使用する方がよい場合があります。
開いている接続を閉じると、通常通りに整理することをお勧めします。
各クエリーに対して1つずつ開くかどうかは、アプリケーションによって異なります。それがデータベースと非常にまれにしかやり取りされない場合は、この方法で行うのが最善でしょう。または、すべてのユーザーが使用できるようにプールを開いたままにし、他のすべてのものが現在使用されている場合にのみ新しいプールを開くことができます。
私は、接続を開いたままにしておく方が良いです。しかし、これはアプリケーションの動作に依存します。膨大な数の計算や接続に時間がかかる外部サービスを接続している場合は、接続を閉じて時間のかかる部分を完了した後にもう一度開いてください。あなたはSQL接続の数の限界を打つことができる訪問者の大きな数を持っていない場合は、接続を常に開いたままにしておきます。再度開くには時間がかかります。
スクリプトの初期化中にデータベースに一度だけ接続します。スクリプトが実行されている間は接続を開いたままにして、それを介してさらにクエリを送信してください。
上記は、複数のSQLクエリを実行する短時間実行のPHPスクリプト(おそらくウェブサーバー上)がある典型的な使用シナリオです。スクリプトが数時間以上実行されていない限り、クエリ間の接続を閉じる心配はありません。
SQLサーバに接続するたびに、PHPスクリプトとサーバの両方が(比較的)複雑なネゴシエーションを実行する必要があります。ネットワーク経由で接続を確立し、両者がMySQLを話していることを確認し、スクリプトには接続などの権限があります。 db接続を維持しておくと、はるかに高速で効率的です。
本当に問題ではありません。あなたのPHPスクリプトがスクリプトの終わりにあなたのための接続を閉じようとしているなら、本当にあなた自身がそれをやることはあまりありません。
すべてのクエリを実行した後でスクリプトに余分なコードを挿入して接続を閉じる必要がある唯一の理由は、小さなメモリを解放したい場合です。 GD2のようなライブラリを使って、あなたのスクリプトはすでにメモリが空いています。
各クエリの後に接続を閉じ、別のクエリを実行するために別のクエリを開くと、メモリが空いてしまい、膨大な時間が掛かります。すべてで、本当に気にしないでください!
スクリプトが接続をランダムに使用する場合は、接続をオープンにします。 特定の時間間隔で接続を使用しているジョブのグループがある場合、各グループジョブの後に接続を閉じることができます。
- 1. phpmysqlデータベース接続のエラー
- 2. アーキテクチャの仕組みマイクロサービスとOpenID接続?
- 3. H2データベース(組み込み)接続タイムアウト
- 4. iOSでの接続回復の仕組みGoogleCastフレームワーク
- 5. 接続テーブルからのEntity Frameworkモデルデータの仕組み
- 6. データベースの並行処理の仕組み
- 7. Glassfishは、JMSキューの接続/セッションリソースを遅延で閉じます。 JMS接続プーリングの仕組み
- 8. iTeleportの仕組み
- 9. Tensorflowの仕組み
- 10. Hibernate.initialize()の仕組み
- 11. ファイルディスクリプタの仕組み
- 12. フォースクエアチェックインの仕組み
- 13. Choreographerの仕組み
- 14. マルチキャストの仕組み
- 15. ハイブパーティションの仕組み
- 16. キュウリカピバラの仕組み
- 17. subscribeOnの仕組み
- 18. ボイスアシスタントの仕組み
- 19. HSQL DBマネージャを組み込みデータベースに接続するには
- 20. 組み込みのAnylogic DBに接続
- 21. OpenID組み込みリソースで接続
- 22. FB接続認証の仕組みを説明してください
- 23. Database.Migrate()メソッドの仕組みは?データベースをダウングレードできますか?
- 24. ゴランのタイマーの仕組み
- 25. JsonUtilityのラッパーの仕組み
- 26. iPhoneのjailbreakingの仕組み
- 27. Codeigniterのセッションの仕組み
- 28. このプログラムの仕組み
- 29. のHadoopストリーミングの仕組み
- 30. マルチスレッドコードのプロファイリングサンプリングの仕組み