Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Как в цикле запустить SQL-запрос, чтобы узнать время исполнения? (https://javascript.ru/forum/server/33134-kak-v-cikle-zapustit-sql-zapros-chtoby-uznat-vremya-ispolneniya.html)

jsuse 11.11.2012 19:38

Как в цикле запустить SQL-запрос, чтобы узнать время исполнения?
 
Есть желание сравнить два варианта SQL-запроса SELECT. При единственном выполнении запроса трудно понять какой эфективнее. А как запустить их в цикле, скажем на 1000 раз, чтобы увидеть результирующее время?

DjDiablo 11.11.2012 19:44

PHP ?

так пробывал ?

//максимальное время в секундах отведённое на тест, по умолчанию 30, я воткнул 60 можно больше попробывать
// 0- вообще сколько угодно.
//можно результат в файл сохранить, если тест будет настолько длинным что браузер несможет дождаться.
set_time_limit (60);

$start=time( ) ;
for ($i=0;i<1000;i++){
  //1й тест
}
$result1=time()-$start;

$start=time( ) ;
for ($i=0;i<1000;i++){
  //2й тест
}
$result2=time()-$start;

echo $result1." vs ".$result2;

jsuse 11.11.2012 19:50

Цитата:

Сообщение от DjDiablo (Сообщение 215477)
так пробывал ?

Нет, через PHP еще не пробовал. С помощью PHP понятно, что можно. Я думал, что есть специальные функции в MySQL для этого, чтобы все еще на MySQL протестировать.

DjDiablo 11.11.2012 19:59

хм интересно.
ну через php ещё так наверно можно, просто 1000 копий запроса скормить mysql попробывать (может получится :D )
$test=" запрос";
   for($i=0;i<1000;i++){
      $prep=$prep.$test;
  }
$start=time( ) ;
//здесь выполним запрос prepare
.....
$result1=time()-$start;


а голый mysql ХЗ
надо нет ковырять


Часовой пояс GMT +3, время: 16:50.