現在、PHP アプリケーションを作成していますが、ページの読み込みが遅いことに気付きました。約 2 秒かかります (正確には 2.0515811443329)。
ボトルネックが何であるかを突き止めました。それは、MySQL データベースへの PDO 接続を作成している部分です。
私の「connect()」メソッドは、エキゾチックなことは何もしません。単純に次のようになります。
public function connect ( $database, $host, $username, $password )
{
try
{
$this->db = new \PDO("mysql:dbname=".$database.";host=".$host, $username, $password);
if ( !$this->db )
{
throw new \Exception('Failed to connect to the database!');
}
$this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
}
catch ( \Exception $e )
{
echo '<strong>Exception: </strong>'.$e->getMessage();
return false;
}
return true;
}
したがって、「connect()」メソッドの呼び出しをコメント アウトすると、ページが読み込まれます: 0.035506010055542
これは大きな違いです。データベースへの接続の作成には時間がかかると想像できますが、1.5 秒以上かかります...これが正常かどうかわかりませんか?
その時間がかかるのが正常な場合、データベース接続を保存する方法はありますか? セッションに入れたいですか?実際、私が知る限り、セッションに保存することはできません。しかし、それは理想的なソリューションです。ユーザーがブラウザを閉じるまで、接続をどこかに保存します。
とにかく、私の PDO / MySQL に問題はありますか? そして、どういうわけか接続リソースを単純に保存できますか? 新しいページごとに毎回データベースに再接続する必要がないようにするには?
PS。私はこれをすべてローカルホスト(Windows)で行っています。