2009-10-29 52 views
0

這段代碼需要花費近半秒的時間來執行。有人可以幫我解決這個問題嗎?有些可能的解決方案?PDO構造函數很慢(mysql)

如果它的事項,數據庫是由亞馬遜RDS

 $this->_connection = new PDO(
      $dsn, 
      $this->_config['username'], 
      $this->_config['password'], 
      $this->_config['driver_options'] 
     ); 

回答

1

PDO的構造函數打開一個數據庫連接託管。當數據庫位於遠程服務器上時,半秒(500ms)的暫停並不令人意外,因爲ping時間以及您不僅打開連接而且還登錄到該連接。

+1

感謝您的回覆。看起來這會消除一般使用Amazon RDS的優勢嗎? – Brian 2009-10-29 13:46:25

+1

這是使用永久連接的重要原因。在本地網絡上,持續連接不值得冒險。在慢速網絡上,這是他們派上用場的地方。只要確保您添加到您的連接代碼/類中,以檢查當前連接上是否有任何事務處於打開狀態並將其回滾。 – longneck 2009-10-29 13:49:10