Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pomiar czasu wykonywania zapytań
Forum PHP.pl > Forum > Bazy danych > Oracle
bartosh
Witam,jestem nowym uzytkownikiem i mam do Was pytanie: czy ktoś wie w jaki sposób uzyskać czas wykonywania zapytań SQL bądź bloków PL/SQL? czy jest on jakoś zapisywany w tabelach systemowych?potrzebuję dostać się do takich wyników z poziomu Delphi (poprzez DOA).Z góry dziękuję za pomoc snitch.gif
KILIUSZKIN
Jakie wsparcie w zakresie optymalizacji daje DOA?
Dostępne jest wsparcie dla Array Fetching, Array DML, PL/SQL Blocks, PL/SQL Tables, Local Statement Caching i Direct Path Load Engine, co umożliwia optymalizowanie krytycznych funkcji w aplikacji.

Spróbuj użyć narzędzia Oracle Monitor..
Program wyświetla instrukcje SQL, zmienne, znaczniki czasowe, upływający czas, statystyki sieciowe, statystyki bazy danych i plan wykonywania zapytań dla każdej aktywności. To pozwala znaleźć wąskie punkty wydajności wydajności aplikacji oraz usunąć błędy w niej zawarte.
bartosh
ok, dziękuję za odpowiedź, ale nie do końca o to mi chodziło:) Wiem, że jest Oracle Monitor i to jest naprawdę użyteczne narzędzie, natomiast chodziło mi o coś co mógłbym zamieścić w programie napisanym w Delphi, gdzie na jakimś label`u mógłbym na przykład podać czas wykonywania zapytań. Ponoć można skorzystać z czegoś takiego jak TKPROF - ja niestety nie wiem za bardzo jak:)chodzi generalnie o wyłuskanie może z jakichś tabel lub perspektyw z Oracle`a tego czasu:)ale i tak dziękuję za odpowiedź biggrin.gif
KILIUSZKIN
Obiekt TOracleTimestamp pozwala umieścić Ci timestampy przed i po zapytaniu i obliczyć czas jego trwania.

Kolejna podpowiedź: komponent TOracleEvent w DOA może przechwytywać synchroniczne i asynchroniczne zdarzenia z bazki.
Możesz przed i po zapytaniu ustawić timestampa i korzystając z pakietów dbms_alert albo dbms_pipe przesłać zdarzenia, które TOracleEvent obsłuży.
Powodzenia!
bartosh
dzięki - w sumie to już chyba sobie z tym poradziłem i skorzystałem z funkcji Delphi getTickCount() smile.gif a ponieważ czasy zapytań mniej więcej zgadzają się z tymi z Oracle Monitor`a,to chyba mnie to zadowoli winksmiley.jpg
SongoQ
Cytat
skorzystałem z funkcji Delphi getTickCount() smile.gif a ponieważ czasy zapytań mniej więcej zgadzają się z tymi z Oracle Monitor`a,to chyba mnie to zadowol

Ale to nie jest narzedzie ORACLE moze czasy sa zblizone ale to jest "zaszyte" w funkcji Delphi a to o czym mowil @KILIUSZKIN sa to narzedzia ORACLE.

TKPROF ma troche inne zastosowanie i nie powinno sie go uzywac w aplikacji lecz tylko do strojenia.
bartosh
Ok, dzięki - w razie, gdybym miał jakieś problemy to nie omieszkam zapytać ponownie smile.gif Na razie pokombinuję sam z TOracleEvent, bo inaczej się nic nie nauczę winksmiley.jpg
Method
wpisz w google magiczne 4 litery T O A D. może nie jest to narzedzie firmy oracle ale chyba jedyne sluszne smile.gif
bartosh
zgadzam się Method, że TOAD jest dobry, tylko że ja sam takie (może nie aż tak zaawansowane) narzędzie do pomiarów próbuję stworzyć smile.gif dzięki za odzew smile.gif
Method
hmm smierdzi mi to jakas inżynierka , mgrka albo innym dziwnym tworem smile.gif
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.