2011-11-04 5 views
0

싱글 톤 클래스를 사용하여 MySQL 데이터베이스에 연결하는 것과 관련된 부정적인 성능 문제가 있는지 궁금합니다. 특히 웹 사이트가 바쁠 때 연결을 확보하는 데 걸리는 시간이 걱정됩니다. 싱글 톤이 "느려지 게"될 수 있습니까?바쁜 웹 사이트에서 싱글 톤을 사용하여 MySql에 연결하기

public static function obtain($server=null, $user=null, $pass=null, $database=null){ 
    if (!self::$instance){ 
    self::$instance = new Database($server, $user, $pass, $database); 
    } 

    return self::$instance; 
} 
+1

저는 이것이 하나의 오래 지속되는 PHP 프로세스가 아니라 HTTP 요청을 처리하는 PHP 페이지라고 가정하고 있습니까? 이 경우 싱글 톤은 연결 처리, 풀링 등과 전혀 관련이 없습니다. – Kevin

+0

아니요, http 요청 만 처리합니다. – keeg

답변

1

하나의 요청으로도 응용 프로그램에서 여러 개의 데이터베이스 쿼리를 보낼 수 있고 매번 데이터베이스 연결을 다시 열면 성능이 떨어지기 때문에 싱글 톤을 사용하여 데이터베이스 연결을 처리 할 수 ​​있습니다.

그러나 영리한 검색어를 작성하고 필요한 데이터에 대해서만 가능한 한 적은 횟수로 데이터베이스를 요청해야한다는 점에 유의하십시오. 그것은 그것을 부드럽게 만들 것입니다!

2

각 PHP 요청은 여전히 ​​다른 연결입니다. 어느 것이 당신이 원하는지입니다.

1

MySQL 성능 관점에서 싱글 톤을 사용할지 여부는 해당 페이지에 대한 각 요청이 자체 개체 (싱글 톤 또는 비 연결) 및 연결을 생성하기 때문에이 경우 싱글 톤을 사용할지 여부는 중요하지 않습니다.

관련 문제