[Oracle][Delphi] Zmierzyć czas wykonania zapytania SQL

0

Witam,
Mam problem z zmierzeniem czasu wykonania dowolnego zapytania w bazie danych Oracle (może być inna), który wynik będzie można przedstawić w aplikacji napisanej w Delphi. Wydaje mi się, że najlepiej byłoby wykonać czas pomiaru po stronie serwera bazodanowego, np. wykorzystując włąsną procedurę lub funkcję SQL, która zwracałaby czas wykonania zapytania, np.:

current_time (początkowy)

dowolne zapytanie SQL

current_time (końcowy)

return : (końcowy) - (początkowy)

Co o tym sądzicie?

A może są jakieś funkcje wbudowane w system bazodanowy, które można byłoby dużo prościej wykorzystać?
Może samo delphi też posiada jakiś komponent, który mierzy czas wykonywania zapytania SQL po stronie serwera bazodanowego?

Pozdrawiam i z góry dzięki za odpowiedź
Max

0

Wydaje mi się, że najlepiej będzie do tego celu wykorzystać funkcję GET_TIME z pakietu DBMS_UTILITY.

DECLARE
 t1 NUMBER;
 t2 NUMBER;

BEGIN

 t1 := DBMS_UTILITY.GET_TIME;
 -- tutaj coś się dzieje
 t2 := DBMS_UTILITY.GET_TIME;
 
 DBMS_OUTPUT.PUT_LINE(t2 - t1);
END;

Jeżeli chcesz, możesz zrobić to samo w funkcji i zwracać wartośc itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1