dimonbes
Новичок
Эксперимент со скоростью БД
В ответ на свой запрос "Что будет работать быстрее? " я поставил следующий тест:
забил однопольную таблицу 1 121 938
записями "1" и "2"
Кстати забивать пришлось поциями по 60 тыс. записей, если больше, то из-за длительной обработки возникала ошибка - "Fatal error: Maximum execution time of 30 seconds exceeded in z:\..."(кто-нить знает почему, может дело в настройках броузера или сервера???)
Сделал выборку двумя вариантами:
Вариант 1:
$query = "SELECT * FROM speed where val ='1'";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
echo 'a';
}
$query = "SELECT * FROM speed where val ='2'";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
echo 'b';
}
echo '<br>OK';
Вариант 2:
$query = "SELECT * FROM speed";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
if($row["val"]=='1') echo 'a';
if($row["val"]=='2') echo 'b';
}
echo '<br>OK';
Сделал по 9 пргонов каждого варианта.
Среднее время выборки варианта 1 - 9,5 сек.
Среднее время выборки варианта 2 - 12 сек.
Может, кому-нибудь будет сие интересно...
В ответ на свой запрос "Что будет работать быстрее? " я поставил следующий тест:
забил однопольную таблицу 1 121 938

Кстати забивать пришлось поциями по 60 тыс. записей, если больше, то из-за длительной обработки возникала ошибка - "Fatal error: Maximum execution time of 30 seconds exceeded in z:\..."(кто-нить знает почему, может дело в настройках броузера или сервера???)
Сделал выборку двумя вариантами:
Вариант 1:
$query = "SELECT * FROM speed where val ='1'";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
echo 'a';
}
$query = "SELECT * FROM speed where val ='2'";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
echo 'b';
}
echo '<br>OK';
Вариант 2:
$query = "SELECT * FROM speed";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
if($row["val"]=='1') echo 'a';
if($row["val"]=='2') echo 'b';
}
echo '<br>OK';
Сделал по 9 пргонов каждого варианта.
Среднее время выборки варианта 1 - 9,5 сек.
Среднее время выборки варианта 2 - 12 сек.
Может, кому-нибудь будет сие интересно...