Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: czas wykonania zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
wiking_
aarambo.gif Witam.Potrzebuje pomocy!!!!
Potrzebuje wyciągnąć w jakiś sposób czas wykonania zapytania SQL z serwera MySql przy pomocy skryptu php.Z tym że potrzebuje dokladnego czasu i niestety zmierzenie czasu przed i po wykonaniu zapytania po stronie klienta mi nie wystarcza.
Bardzo prosze o wskazowki.Przeglądnołem instrukcje php i nie znalazlem takiej ktora by to umozliwiala..pozdrawiam.wiking_
bregovic
  1. <?php
  2.  
  3. function microtime_float()
  4. {
  5.  list($usec, $sec) = explode(&#092;" \", microtime());
  6.  return ((float)$usec + (float)$sec);
  7. } 
  8.  
  9. ?>
wiking_
aarambo.gif
Wiem ze mozna zastosowac ta funkcje i wywołać ją przed i po zapytaniu, a następne z różnicy uzyskać czas.Ale niestety potrzebuje czasu wykonania instrukcji po stronie serwera mysql.Stosując powyższe funkcje uzyskam czas obarczony błędem przesyłu.
bregovic
Błędem przesyłu między php a mysql? Afaik, to to na prawdę nie są duże wartości. Parę milisekund w tą czy we w tą...
wiking_
aarambo.gif
caly problem polega na tym - nie wyrazilem sie jasno na poczatku - ze potrzebne są mi właśnie te milisekundy. musze odjąć od czasu wykonania zapytania po stronie klienta czas wykonania zapytania po stronie serwera i w ten sposób uzyskam interesujący mnie pomiar.Problem wlasnie na tym ze nie wiem jak wyciągnąć z serwera mysql ten nieszczesny czas:(
sf
Z tego co patrzylem to nie ma takiej funkcji, wiec uznaj, ze sie nie da ;P Sprobuj co najwyzej jakos z poziomu mysql to wyciagnac do jakiegos pliku czy cos, ale to juz bys musial popytac na forum/grupie dyskusyjnej poswieconej mysql.
NuLL
Obetnij kilka milisekund wynikowi tongue.gif
xamil
Cytat(bregovic @ 2005-01-06 10:59:23)
Błędem przesyłu między php a mysql? Afaik, to to na prawdę nie są duże wartości. Parę milisekund w tą czy we w tą...

Są jeśli skrypt wykonujemy na jednym serwerze w Polsce a korzystamy z bazy znajdującej się w USA;)
DeyV
Mierzenie czasu z poziomu MySQL (przynajmniej do wersji 4.0.x) nie jest możliwe.
Można jednak spróbować zrobić to nieco na około.
Np. wydać do mySQL najprostrzą z możliwych komend, np.
SELECT 1 i dokładnie zmieżyć czas jej wykonania. Zapytanie to będzie raczej szybko wykonane, więc prawie cały czas będzie można uznać za narzut.
Teraz mierzymy już czas interesującego nas zapytania, i odejmujemy od niego poprzednio otrzymaną wartość. Wynik powinien być wystarczająco dokładny.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.