Я пытаюсь переписать некоторые из собственных функций 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 where? Это не только концепция PDO, которая будет ускорять все до –
В таблице более 3000 строк (я показываю только 100), а также предложения JOIN и другие методы класса для извлечения конкретных данных из других таблиц. Я посмотрел на этот индексный аспект, и все в порядке. Я попытаюсь получить некоторый код после разбивки класса немного, чтобы показать фактический пример. – Dimitri