Вроде везде говорится, что да. При стандартном открытии файлов в пхп возможно и быстрее, но ведь можно считывать содержимое файла через системный вызов при помощи cat.
Сделал два файла, один подключался к базе, считывал заголовок этого блога, выводил его. Второй считывал файл в переменную и далее грепом выбирал заголовок. Результаты не в пользу бд: разброс значений от 0,047 мс до 0,128мс. Файлы стабильно показывали 0,05мс.
Интересовала скорость простого запроса, без сложных условий выборки, хотя и по файлам через системный вызов можно grep’ом отфильтровать как надо.
Усредненные результаты 10 запусков обоих файлов:
БД: ~0.0832мс
Файл: ~0.0505мс
Сами скрипты:
$ cat testdb.php
<?php
$link = mysql_connect('localhost', 'db_user', 'db_pass');
mysql_select_db('db_name', $link);
$query =
mysql_query("SELECT option_value
FROM `wp_options` WHERE `option_id` = 2;");
$result = mysql_result($query, NULL);
echo $result;
mysql_close($link);
?>
$ cat testf.php
<?php
$name = exec("cat test.txt | grep Alex");
echo $name;
?>
Подсчитывал время так:
time php script.php
11 responses
Do you want to comment?
Comments RSS and TrackBack Identifier URI ?
Trackbacks