Użyłem webgrind i xdebug, aby zaryzykować wydajność mojej strony. 85% czasu ładowania strony jest przyjmowane dla funkcji php :: PDO -> __ Konstrukt (około 1 sekundy) ...Przyspiesz php :: PDO -> __ skonstruuj
jest to niedopuszczalne. czy mogę jakoś zoptymalizować tę funkcję? (buforowanie, konfiguracja mysql itp.)
Używam php, mysql i codeigniter z redbean. Redbean zastosowania że PDO funkcję skonstruować ...
tutaj jest kod źródłowy funkcji
/**
* Establishes a connection to the database using PHP PDO
* functionality. If a connection has already been established this
* method will simply return directly. This method also turns on
* UTF8 for the database and PDO-ERRMODE-EXCEPTION as well as
* PDO-FETCH-ASSOC.
*
* @return void
*/
public function connect() {
if ($this->isConnected) return;
$user = $this->connectInfo['user'];
$pass = $this->connectInfo['pass'];
//PDO::MYSQL_ATTR_INIT_COMMAND
$this->pdo = new PDO(
$this->dsn,
$user,
$pass,
array(1002 => 'SET NAMES utf8',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
)
);
$this->pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, true);
$this->isConnected = true;
}
Jeśli to nie do przyjęcia, pomyśl o tym, dlaczego tak często dzwonisz do __construct i opracowujesz go. –
[Google jest wspaniałe, stary. zajęło mi to 2 sekundy] (http://stackoverflow.com/questions/9800577/why-is-constructing-pdo-connection-slow) –
BTW, zestaw znaków powinien być ustawiony w DSN –