Сравните запрос таблицы MySQL с загрузкой данных из сериализованного объектного файла - PullRequest
0 голосов
/ 20 октября 2011

У меня есть таблица, выраженная в PHP как:

$Column1 = array();
$Column2 = array();
$Column3 = array();
$Table = array($Column1,$Column2,$Column3);

, и сериализовать таблицу $, а затем сохранить ее в двоичном виде в файл:

file_put_contents("table.bin",serialize($Table));

В конце концов, что мне нужноэто сравнение производительности двух методов загрузки данных из MySQL и из файла сериализованных данных в следующих двух случаях:
(a) В таблице всего несколько строк с большим количеством веб-запросов на сайт через HTTP
(b) В таблице очень много строк, а также множество веб-запросов к сайту через HTTP

Первый метод, загрузка из таблицы MySQL:

$Result = mysql_query("select * from Table where email='johndoe@example.com'");
$Count = mysql_num_rows();
$Filtered_Rows = array();
for ($Index=0; $Index<$Count; $Index++)
  $Rows[$Index] = mysql_fetch_assoc($Result);
var_dump($Filtered_Rows);

Второй метод, загрузкаиз файла сериализованных данных:

$Data = unserialize(file_get_contents("table.bin"));
$Count = count($Data);
$Filtered_Rows = array();
for ($Index=0; $Index<$Count; $Index++)
  if ($Data[$Index]["email"]=="johndoe@example.com")
    array_push($Filtered_Rows,$Data[$Index]);
var_dump($Filtered_Rows);

Предполагается, что PHP имеет достаточно памяти для загрузки всего файла 'table.bin', чтобы запомнить, какой метод должен обеспечить более высокую производительность в 2 упомянутых случаях?
Что яПоверьте, у второго метода есть проблема при попытке "десериализации" очень большой таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...