bartosh
22.08.2006, 13:47:54
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
KILIUSZKIN
24.08.2006, 10:24:47
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
24.08.2006, 22:57:16
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ź
KILIUSZKIN
29.08.2006, 21:39:22
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
29.08.2006, 21:47:36
dzięki - w sumie to już chyba sobie z tym poradziłem i skorzystałem z funkcji Delphi getTickCount()

a ponieważ czasy zapytań mniej więcej zgadzają się z tymi z Oracle Monitor`a,to chyba mnie to zadowoli
SongoQ
30.08.2006, 04:52:46
Cytat
skorzystałem z funkcji Delphi getTickCount()

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
30.08.2006, 15:06:13
Ok, dzięki - w razie, gdybym miał jakieś problemy to nie omieszkam zapytać ponownie

Na razie pokombinuję sam z TOracleEvent, bo inaczej się nic nie nauczę
Method
30.08.2006, 21:45:21
wpisz w google magiczne 4 litery T O A D. może nie jest to narzedzie firmy oracle ale chyba jedyne sluszne
bartosh
30.08.2006, 23:21:57
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ć

dzięki za odzew
Method
11.09.2006, 14:12:45
hmm smierdzi mi to jakas inżynierka , mgrka albo innym dziwnym tworem