PDO 기능으로 변환하기 위해 일부 원시 mysql 함수를 다시 작성하려고합니다. 그러나 성능에 엄청난 영향을 주었고 보통의 쿼리는 페이지에 데이터를로드하는 데 0.14 초에서 2.8 초가 걸렸습니다. 이것은 원래의 SQL 쿼리로 서버 한 개가 한 줄에 하나의 정보를 검색하는 공통 기능입니다. 페이지가 약 100 개의 행을 생성하고 있습니다.PDO 대 MySQL 함수
protected function query_s($table, $col, $where_col , $where, $return_col)
{
$SQL = "SELECT $col FROM ".$table." WHERE $where_col='".$where."' LIMIT 1";
try
{
if(!mysql_query($SQL))
{
throw new Exception("MySQL error: ". mysql_error());
}
else
{
$data = mysql_fetch_array($SQL);
return $data[$return_col];
}
}
catch(Exception $e)
{
echo "Error <p> ".$e->getMessage()." at line ".$e->getLine() ;
}
}
나는 어떤 일이 느려지는지 잘 모르겠습니다. 어떤 아이디어?
PDO (느린 버전)를 변경 한 후에 버전을 표시 할 수 있습니까? 또한 두 경우에 대해 서버에 대해 실행되는 실제 쿼리를 제공 할 수 있습니까 (Where 절 포함)? –
테이블에 몇 개의 행이 있습니까? Where 절 필드가 인덱싱됩니까? 그 모든 것을 빠르게 할 PDO 개념이 아닙니다. –
JOIN 절 및 다른 테이블의 특정 데이터를 검색하는 다른 클래스 메서드와 함께 테이블에 3000 개 이상의 행이 있습니다 (저는 100 개만 표시합니다). 이 인덱싱 측면을 살펴 보았지만 정상적으로 작동합니다. 실제 예제를 보여주기 위해 클래스를 약간 분해 한 후에 코드를 작성하려고합니다. – Dimitri