我試圖重寫一些本地mysql函數來轉換爲PDO功能。但是,我看到了巨大的性能影響,現在我的平常查詢需要2.8秒,從0.14秒增加到頁面上的數據加載。這是我原來的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概念,可以加快速度 –
表中有超過3000行(我只顯示100行),以及JOIN子句和其他類方法以從其他表中檢索特定數據。 我看了這個索引方面,它很好。我將在分解完課程後嘗試獲取一些代碼以顯示一個實際示例。 – Dimitri