Эксперимент со скоростью БД

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 сек.

Может, кому-нибудь будет сие интересно...
 

alexhemp

Новичок
dimonbes

Если бы ты сделал запрос с текстом ошибки в Google тебе точно удалось узнать в чем дело.

проверять скорость фетча на SELECT * без использования индексов (ибо индекс на таких значениях не будет использован, даже если ты его построишь) - это круто.

Теперь назови область применения таких вот селектов.
 

Фанат

oncle terrible
Команда форума
проверять скорость фетча выводя буквы в браузер - это круто.
 

dimonbes

Новичок
Да я мог вообще ничего не выводить, это просто, для красивости ;) , а мог и скрипт какой запустить, для ip '1' синенький,
а для ip '2' - в полосочку
ЗЫ. На самом деле я часто сталкивался с подобным выбором, а это был чистый эксперимент
 

alexhemp

Новичок
dimonbes

Дык приведи пример, для чего такие вот выборки могут понадобиться? Выглядит как очевидная глупость от нечего делать.
 

basboy

Новичок
:-D
А вообще я так и не понял, меряли скорость выбоки из БД или скорость фетча.
Потому как известно (а кто не знает читайте внимательно), что оператор IF работает не очень то и быстро. Даже оператор SWITCH - CASE работает быстрее чем IF.
А скорость выборки можно посмотреть в консоли, сразу после результата выборки.
 

Фанат

oncle terrible
Команда форума
если товарищ basboy ответит ещё пару раз, то место топику будет в юморе =)
 

bgm

&nbsp;
А что меряем-то? Солёность огурцов с помощью градусника?
 
Сверху