次の 3 つの接続方法
1. mysql_connect() 関数を使用してシングルトン クラスを作成します
2. mysql_pconnect() を使用して長い接続を確立します
3. 作成されるデータベース接続クラスを作成します。インスタンス化中 短い接続、破棄時に閉じられます (mysql_close)
どのようなアプリケーション シナリオでデータベースに接続する場合、上記 3 つのうちのどれが最も高いパフォーマンスを発揮しますか?
(追記: PHP に接続プールを実装する必要がありますか)
返信内容:
= =ppc からですか... = =Baicai から返信がありました...転送します...PHP レベルでは、どのようにコードを書いても同じです違いはありません。長い接続と通常のリンクの違いを強調しておきます。
永久リンクは、サーバーが接続を開いて全員がリンクを共有することを意味するものではありません。永続的な接続では、クライアントごとに接続が開かれます。200 人が訪問すると、200 の接続が存在します。実際、mysql_pconnect() 自体はあまり処理を行いません。唯一行うことは、PHP の実行後に mysql 接続を積極的に閉じないことです。
PHP が CGI モードで実行されている場合、pconnect と基本的には違いはありません。 connect.cgi メソッドは PHP アクセスごとにプロセスを開始するため、Apache モジュール モードで PHP を実行すると、Apache はプロセス プール (httpd) を使用するため、アクセスが完了するとプロセスが終了します。プロセスは終了後に使用されます。これにより、pconnect で開かれた mysql 接続リソースが解放されなくなります。これにより、次の接続リクエストがあるときに Apache が使用されます。 pconnect を使用しないと、PHP は DB に繰り返し接続する時間が短縮され、アクセス速度が速くなります。ただし、Apache の同時アクセス量が大きい場合は、pconnect を使用した方がわかりやすいでしょう。使用すると、以前の httpd プロセスによって占有されていた mysql 接続がブロックされ、mysql 接続の最大数が設定されている場合、mysql が接続の最大数に達した可能性があります。最大同時アクセス数を 500 に設定し、Apache の最大同時アクセス数を 2000 に設定すると、すべてのアクセスに Access db が必要となり、現在の 500 件の httpd リクエストが終了していない場合、後続の httpd プロセスの処理時間が比較的長くなります。 mysql に接続できません (mysql 接続の最大数に達しているため) 現在の 500 個の httpd プロセスのみが終了しているか、再利用すると mysql
に接続できます。これは他の httpd プロセスの mysql 接続を再利用しないため、多くの接続タイムアウトが発生します。 同時アクセスの量が多くない場合、pconnect を使用すると単純にアクセス速度が向上しますが、同時アクセスの量が増加した後は、pconnect を再度使用するかどうかはプログラマの選択によって異なります。
PHP の mysql への接続は実際には使用されません。コネクションプール、pconnectはApacheのプロセスプールを借りているのと同じなので、同時アクセス量が多い場合にはDBへのアクセス効率を上げることができません
実際のアプリケーションではmysql_pconnectを使用した方が速いです。毎回更新して新しいページをリクエストしますが、mysql_connect では、データベース接続が遅い場合は、更新するたびに再リクエストする必要があることがわかります。データベース接続が遅い場合、DB 操作はそれほど複雑ではなく、プログラムにデッドロックが発生しないという十分な自信があり、サーバーを制御できる場合は、上記の 4 つの条件のいずれか 2 つが満たされている必要があります。その後、pconnect を使用できます。
pconnect をスクリプトで閉じる必要はありません。mysql で有効期間を設定したり、定期的にスキャンして長期間休止していた接続を強制終了するシェルを作成したりできます。 一文要約: pconnect を使いこなすには、PHP スクリプトだけでなく、データベースやサーバーの設定も関係します。
元のアドレス: http://bbs.phpchina.com/thread-238077-1-1.html

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック



