4

Xamppを使用して実行している独自のデータベースがあります。まだパブリックアクセスを許可していますが、ApacheおよびMySqlサービスを使用しています。たくさんのSQLクエリを終了する適切な方法を知りたいです。私はajaxを使用してデータをphpページに送信し、サーバーからいくつかのデータを照会しています。ajaxリクエスト中に、ハンドラーphpページをプログラムして、必要な特定のデータを取得するために複数のクエリ(少なくとも1つ以上)を実行するようにしました。mysqli_kill()さて、プロセスのどの時点でまたはを使用すべきかわかりませんmysqli_close()。私は今それを設定しているので、その特定のajaxリクエストに対するすべての即時クエリが実行された後でのみ、mysqli_close()を実行します。mysqli_kill()も使用していません。データベース接続やサーバーのパフォーマンス管理についてあまり知らないので、方法がわかりませんこれを考慮します。一方では、そのユーザーがWebページからログオフするまで、接続を閉じる必要はありませんよね?または、接続が来て処理されるときに、各接続を開いたり閉じたりする必要がありますか?

このハンドラーphpページは、私が持っているいくつかのWebページからの要求を処理します。Webページの1つには、ヒント(一致する可能性があります)を表示するためにキーストロークごとにajax要求を送信する入力ボックスがあります...これは従業員アクセス専用ページであるため、接続高すぎてはいけません。

私もこの投稿を見てみました誰かがmysqliclose関数についてのこのステートメントについて少し説明できますか?

答えは、phpマニュアルのWebサイトからの提案と矛盾しています。誰かがいつ使用するか、また、私が説明した状況で、パフォーマンスのために接続を維持する理由があるかどうかmysqli_kill()を明確にしてください。mysqli_close()

4

1 に答える 1

9

一般に、これらの関数のいずれも使用する必要はまったくありません。サーバーが割り当てたすべてのリソースは、PHP スクリプトの実行が終了すると自動的に解放されるため、最も一般的なシナリオでは何も心配する必要はありません。

を使用したい場合があります。mysqli_closeたとえば、データベースで必要なことを実行し、残りの実行のためにサーバー リソースを拘束したくない長時間実行スクリプト内などです。

まったく使用する必要はありませんmysqli_kill。この関数が行うことは、サーバーにワーカー スレッドを破棄するように指示することです。これは、「招待されていない場所をいじる」領域に入っています。これは、状況によっては役立つかもしれませんが、通常の操作では決して役に立ちません。

于 2013-02-11T22:44:48.583 に答える