MySQLでは永続的な接続は不要です。他のデータベース(Oracleなど)では、接続の確立には費用と時間がかかるため、接続を再利用できれば大きなメリットがあります。しかし、これらのブランドのデータベースは接続プールを提供しており、問題をより適切に解決します。
MySQLデータベースへの接続は、他のブランドに比べて迅速であるため、永続的な接続を使用すると、他のブランドのデータベースよりもMySQLのメリットが比例して少なくなります。
永続的な接続にも欠点があります。データベースサーバーは、接続が必要かどうかに関係なく、各接続にリソースを割り当てます。したがって、接続がアイドル状態の場合、目的のない多くの無駄なリソースが表示されます。 10,000のアイドル接続に到達するかどうかはわかりませんが、数百の接続でもコストがかかります。
接続には状態があり、PHPリクエストが以前に別のPHPリクエストによって使用されたセッションから情報を「継承」することは不適切です。たとえば、一時テーブルとユーザー変数は通常、接続が閉じるときにクリーンアップされますが、永続的な接続を使用する場合はクリーンアップされません。同様に、文字セットや照合などのセッションベースの設定。また、LAST_INSERT_ID()
セッション中に最後に生成されたIDを報告します-それが以前のPHPリクエストの間にあったとしても。
少なくともMySQLの場合、永続的な接続の欠点はおそらくそれらの利点を上回ります。また、高いスケーラビリティを実現するためのより優れた手法は他にもあります。
2014年3月の更新:
MySQL接続速度は、他のブランドのRDBMSと比較して常に低速でしたが、さらに向上しています。
http://mysqlserverteam.com/improving-connectdisconnect-performance/ を参照してください。
詳細と速度の比較については、ブログをお読みください。