Cwiczenie 1. Wys wietlanie plano w wykonania polecen SQL

Podobne dokumenty
Fazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1.

Optymalizacja poleceń SQL Wprowadzenie

Cwiczenie 2. Metody dostępu do danych

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Cwiczenie 4. Połączenia, struktury dodatkowe

Rozdział 17. Zarządzanie współbieżnością zadania

Rozproszone bazy danych 3

Ć wiczenie 3. Statystyki, wskazó wki

Bazy danych. dr inż. Arkadiusz Mirakowski

System imed24 Instrukcja Moduł Analizy i raporty

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Laboratorium 10. Odkrywanie cech i algorytm Non-Negative Matrix Factorization.

3. Budowa prostych raportów opartych o bazę danych

Optymalizacja poleceń SQL Statystyki

Ćwiczenie zapytań języka bazy danych PostgreSQL

Język SQL. Rozdział 2. Proste zapytania

Optymalizacja poleceń SQL

Ćwiczenie 3. Funkcje analityczne

Administracja i programowanie pod Microsoft SQL Server 2000

Oracle Application Express

Wykład XII. optymalizacja w relacyjnych bazach danych

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Ref. 7 - Język SQL - polecenia DDL i DML

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Kostki OLAP i język MDX

5. Bazy danych Base Okno bazy danych

Obszar Księga Główna. Harmonogramy księgowań. Instrukcja użytkownika

Jak utworzyć diagram

Ćwiczenie 4. Użytkownicy

Zarządzanie obiektami bazy danych Oracle11g

CREATE USER

Dodawanie operacji dodatkowych w WAPRO Mag.

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Przygotowanie bazy do wykonywania kopii bezpieczeństwa

Cwiczenie 7. Retrospekcja

Optimed24 Przenoszenie bazy danych PostrgreSQL

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

QUERY język zapytań do tworzenia raportów w AS/400

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Relacyjne bazy danych. Podstawy SQL

Optymalizacja wydajności SZBD

5.5. Wybieranie informacji z bazy

Wymagania: Konstrukcja prostych zapytań w języku SQL, umiejętność wykorzystania funkcji wierszowych i agregujących.

BAZY DANYCH Panel sterujący

Optymalizacja poleceń SQL Metody dostępu do danych

FORMAT MARC 21 dla rekordów stosowanych w BAZACH BIBLIOGRAFICZNYCH

Klasyczna Analiza Danych

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

Przykładowa baza danych BIBLIOTEKA

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Edytor tekstu OpenOffice Writer Podstawy

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Ćwiczenie 2. Opcja przestrzenna bazy danych

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Baza danych Uczniowie.mdb

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Ćwiczenie 14 autoryzacja

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Laboratorium 3. Odkrywanie reguł asocjacyjnych.

Tryb wyświetlania wielu rozkładów zajęć

Język SQL. Rozdział 8. Język manipulowania danymi DML

ĆWICZENIE Uruchomić Oracle Forms Builder. 2. Utworzyć nowy formularz (File->New->Form) 3. Nawiązać połączenie z bazą danych (file-connect).

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym

Autor: Joanna Karwowska

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.

Optymalizacja poleceń SQL

Struktura drzewa w MySQL. Michał Tyszczenko

Instrukcja obsługi aplikacji MobileRaks 1.0

Przestrzenne bazy danych Podstawy języka SQL

SQL (ang. Structured Query Language)

Tworzenie raportów. Ćwiczenie 1. Utwórz Autoraport przedstawiający tabelę Studenci

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

7. Formularze master-detail

Relacyjne bazy danych. Podstawy SQL

8. Listy wartości, dodatkowe informacje dotyczące elementów i przycisków

Przewodnik korzystania z Biblioteki kursów na platformach e-learningowych RON

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';

W nowej wersji Aplikacji wprowadzono udoskonalenia w funkcjonowaniu legendy.

Centrum Informacji Społeczno-Gospodarczej

Wykaz stali z projektu.

PWI Instrukcja użytkownika

Niestandardowa tabela częstości

Zadania do wykonania na laboratorium

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Obrót magazynowy w kasach Farex przy pomocy programu PLU Manager

Autor: Joanna Karwowska

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

POMOC / INSTRUKCJA OBSŁUGI

Zadanie 1. Stosowanie stylów

Systemy GIS Tworzenie zapytań w bazach danych

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Transkrypt:

Cwiczenie 1. Wys wietlanie plano w wykonania polecen SQL Optymalizacja poleceń SQL 1 W kolejnych sekcjach warsztatu zaprezentowane zostaną różne metody odczytywania planu wykonania polecenia SQL. Metody te różnią się między sobą dostępnością w narzędziach firmy Oracle, a także wiarygodnością uzyskiwanych przy ich zastosowaniu informacji. Uwaga! Przed rozpoczęciem ćwiczenia zapoznaj się z materiałami wprowadzającymi do tematyki optymalizacji procesu wykonania poleceń SQL (prezentacja pt. Optymalizacja poleceń SQL. Wprowadzenie ). Przygotowanie środowiska do ćwiczeń 1. Uruchom narzędzie Oracle SQL Developer i przyłącz się do własnego konta w bazie danych. 2. Utwórz relacje, które będą wykorzystywane podczas ćwiczeń. W tym celu wykonaj poniższe polecenia: CREATE TABLE opt_pracownicy AS SELECT * FROM sbd_tools.opt_pracownicy; CREATE TABLE opt_zespoly AS SELECT * FROM sbd_tools.opt_zespoly; CREATE TABLE opt_etaty AS SELECT * FROM sbd_tools.opt_etaty; Utworzą one w Twoim schemacie trzy relacje: OPT_PRACOWNICY (10 000 rekordów), OPT_ZESPOLY (5 rekordów) oraz OPT_ETATY (12 rekordów), które będą używane podczas warsztatu. 3. Sprawdź, czy wymienione w poprzednim punkcie relacje zostały utworzone. Możesz do tego użyć poniższego zapytania. SELECT table_name FROM user_tables;

Optymalizacja poleceń SQL 2 Polecenie EXPLAIN PLAN 1. Napisz i wykonaj polecenie SQL, które wyświetli nazwiska wszystkich pracowników z relacji OPT_PRACOWNICY wraz z nazwami zespołów z relacji OPT_ZESPOLY, do których pracownicy należą. Polecenie może mieć następującą postać: SELECT nazwisko, nazwa FROM opt_pracownicy JOIN opt_zespoly USING(id_zesp); 2. W kolejnych punktach odczytamy z systemu zarządzania bazą danych (w skrócie SZBD) algorytm, wg którego polecenie SQL ma zostać wykonane, czyli tzw. plan wykonania polecenia. Najpierw zażądamy przygotowania przez SZBD planu wykonania polecenia SQL. Do tego celu służy komenda EXPLAIN PLAN, której podstawową formę przedstawiono poniżej. EXPLAIN PLAN FOR polecenie_sql; EXPLAIN PLAN jest poleceniem SZBD Oracle oznacza to, że będzie działało w każdym narzędziu, które ma możliwość przyłączenia się do SZBD Oracle i przesyłania poleceń. Uwaga! Polecenie EXPLAIN PLAN nie powoduje wykonania polecenia, a jedynie uruchamia proces budowy planu wykonania polecenia. Należy mieć świadomość, że plan wygenerowany przez polecenie EXPLAIN PLAN, może nie być planem, według którego polecenie zostałoby zrealizowane w sytuacji jego wykonania. Przygotujemy teraz plan wykonania naszego polecenia SQL. Wykonaj poniższe polecenie. EXPLAIN PLAN FOR SELECT nazwisko, nazwa FROM opt_pracownicy JOIN opt_zespoly USING(id_zesp); 3. Po pomyślnym wykonaniu polecenia EXPLAIN PLAN zobaczysz komunikat: Plan FOR succeeded. W specjalnej, predefiniowanej relacji o nazwie PLAN_TABLE zostały umieszczone informacje o planie wykonania polecenia SQL wskazanego w poleceniu EXPLAIN PLAN. Aby te informacje odczytać, należy użyć predefiniowanej funkcji tablicowej DISPLAY z pakietu DBMS_XPLAN w sposób przedstawiony poniżej. SELECT * FROM TABLE(dbms_xplan.display());

Optymalizacja poleceń SQL 3 Wynik działania funkcji to raport pokazujący plan wykonania zapytania SQL z ostatniego polecenia EXPLAIN PLAN (poniższy widok w Oracle SQL Developer). Raport składa się z następujących części: Linia 1. wynik działania funkcji haszującej, zastosowanej do tekstu polecenia SQL (wartość wykorzystywana przy identyfikacji identycznych poleceń SQL w sytuacji ponownego wykonania wcześniej zrealizowanego polecenia, SZBD może użyć planu wykonania, przygotowanego dla wcześniejszego wykonania, zamiast tworzenia nowego planu mechanizm o nazwie soft parsing). Linie 3. 10. plan wykonania polecenia SQL. Linie 12. 15. informacje o predykatach, wykonywanych podczas realizacji polecenia SQL (w naszym przykładzie jedyny predykat to warunek połączeniowy). Numer przy predykacie wskazuje numer linii w planie z operacją, w ramach której dany predykat został użyty (linia taka jest dodatkowo wyróżniona gwiazdką patrz linia nr 7). Linie 17. 19. dodatkowe informacje (w naszym przykładzie wskazanie konieczności realizacji tzw. dynamicznego próbkowania statystyk przed zbudowaniem planu wykonania polecenia). 4. Jeśli chcemy znaleźć plany wykonania kilku poleceń SQL, kolejne polecenia można oznaczyć własnymi identyfikatorami. Służy do tego klauzula SET STATEMENT_ID polecenia EXPLAIN PLAN. Znajdźmy ponownie plan wykonania polecenia z połączeniem, tym razem polecenie oznaczymy identyfikatorem zap_1_<numer_indeksu> (zastąp <numer_indeksu> swoim numerem indeksu). EXPLAIN PLAN SET STATEMENT_ID = 'zap_1_12345' FOR SELECT nazwisko, nazwa FROM opt_pracownicy JOIN opt_zespoly USING(id_zesp);

Optymalizacja poleceń SQL 4 Teraz znajdźmy plan wykonania kolejnego polecenia SQL, znajdującego dla każdego etatu w zbiorze pracowników relacji OPT_PRACOWNICY średnią pensję. Zapytanie oznaczymy identyfikatorem zap_2_<numer_indeksu>. EXPLAIN PLAN SET STATEMENT_ID = 'zap_2_12345' FOR SELECT etat, ROUND(AVG(placa),2) FROM opt_pracownicy GROUP BY etat; Aby wyświetlić plan wykonania polecenia o danym identyfikatorze, wywołując funkcję DBMS_XPLAN.DISPLAY podajemy jako wartość parametru STATEMENT_ID identyfikator polecenia. Poniższe polecenie wyświetli plan wykonania drugiego polecenia. SELECT * FROM TABLE(dbms_xplan.display(statement_id => 'zap_2_12345')); 5. Dodatkowy parametr funkcji DBMS_XPLAN.DISPLAY o nazwie FORMAT pozwala na zmianę poziomu szczegółowości informacji w raporcie z planem wykonania. Niektóre z wartości dla tego parametru to: BASIC raport będzie zawierał jedynie plan wykonania polecenia SQL, TYPICAL domyślna wartość parametru, raport będzie zawierał tylko te informacje, które mają istotne znacznie dla wyświetlanego planu wykonania polecenia, ALL raport będzie zawierał wszystkie informacje o planie wykonania. Poniższe polecenie wyświetli tylko plan wykonania (bez żadnych dodatkowych informacji) dla polecenia oznaczonego identyfikatorem zap_2_<numer_indeksu>. SELECT * FROM TABLE(dbms_xplan.display( statement_id => 'zap_2_12345', format => 'BASIC'));

Optymalizacja poleceń SQL 5 Postać raportu przedstawiono poniżej. 6. Oracle SQL Developer udostępnia również narzędzie, które wyświetla plan polecenia SQL w formie grafu. W tym celu po wpisaniu tekstu polecenia należy nacisnąć przycisk Explain Plan..., umieszczony w pasku narzędziowym, lub nacisnąć klawisz F10. Prezentowany raport ma nieco inną formę niż wynik działania polecenia EXPLAIN PLAN i funkcji DBMS_XPLAN.DISPLAY, jednak prezentowane informacje są identyczne.

Optymalizacja poleceń SQL 6 Zadania samodzielne 1. Wyświetl plan wykonania polecenia, oznaczonego identyfikatorem zap_1_<numer_indeksu>, z domyślnym poziomem szczegółowości prezentowanych informacji. 2. Wyświetl ponownie plan dla zapytania zap_1_<numer_indeksu>, tym razem z pełnymi informacjami. 3. Przygotuj i wykonaj zapytanie, które policzy liczbę pracowników dla każdego etatu. Odczytaj plan wykonania tego zapytania posługując się zarówno poleceniem EXPLAIN PLAN, jak również korzystając z narzędzia prezentacji planu w formie grafu.

Optymalizacja poleceń SQL 7 Dyrektywa AUTOTRACE W niektórych narzędziach oferowanych przez firmę Oracle (m.in. Oracle SQL Developer, SQL*Plus, isql*plus, SQLcl), mamy możliwość łatwiejszego wydobywania planu wykonania polecenia SQL niż przy użyciu komendy EXPLAIN PLAN. Narzędzia te można ustawić w tryb pracy z prezentacją planów wykonywanych poleceń. Służy do tego dyrektywa AUTOTRACE. 1. W Oracle SQL Developer, będąc przyłączonym do swojego konta bazodanowego, w edytorze poleceń SQL ponownie wpisz i wykonaj polecenie SQL, które wyświetli średnie pensja dla etatów w zbiorze pracowników relacji OPT_PRACOWNICY. SELECT etat, ROUND(AVG(placa),2) FROM opt_pracownicy GROUP BY etat; 2. W edytorze poleceń SQL wpisz i wykonaj poniższe polecenie: SET AUTOTRACE ON EXPLAIN Polecenie włącza tryb pracy z automatyczną prezentacją planu wykonania polecenia SQL. Następnie w edytorze SQL zaznacz tekst zapytania z punktu 2. i uruchom je jako skrypt (klawisz F5). Wynik powinien prezentować się tak, jak na poniższym rysunku. Otrzymaliśmy: wynik polecenia oraz plan wykonania polecenia.

Optymalizacja poleceń SQL 8 Porównując ten mechanizm z poleceniem EXPLAIN PLAN, należy zauważyć: Cecha EXPLAIN PLAN AUTOTRACE Czy polecenie jest wykonywane? nie tak Czy plan zgodny z rzeczywistym? nie zawsze tak (w Oracle SQL Developer i SQLcl) nie zawsze (SQL*Plus, isql*plus) 3. W edytorze poleceń SQL wpisz i wykonaj poniższe polecenie: SET AUTOTRACE ON STATISTICS Komenda ta włącza tryb pracy z automatyczną prezentacją tzw. statystyk wykonania polecenia SQL. Wykonaj ponownie zapytanie z punktu 1. (jako skrypt klawisz F5). Statystyki wykonania charakteryzują sam proces wykonania polecenia SQL, np. ile danych odczytano z bufora bazy danych, ile operacji sortowania wykonano, itd. Statystykom wykonania przyjrzymy się w dalszej części warsztatów z optymalizacji poleceń SQL.

Optymalizacja poleceń SQL 9 4. Aby narzędzie prezentowało zarówno plan wykonania, jak i statystyki wykonania polecenia SQL, należy posłużyć się trzecią formą dyrektywy AUTOTRACE. Wykonaj w edytorze SQL poniższe polecenie: SET AUTOTRACE ON Następnie ponownie wykonaj polecenie z punktu 2. (jako skrypt klawisz F5). Jako wynik otrzymasz: wynika polecenia SQL, plan wykonania polecenia SQL oraz statystyki wykonania polecenia SQL. 5. Wyłącz tryb pracy z prezentacją planów i statystyk, wykonując poniższe polecenie. SET AUTOTRACE OFF 6. Uwaga! Niektóre narzędzia firmy Oracle, np. SQL*Plus i isql*plus akceptują jeszcze jedną formę dyrektywy AUTOTRACE, mianowicie: SET AUTOTRACE TRACEONLY Ustawia ona tryb pracy, w którym prezentowany jest plan wykonania polecenia oraz statystyki wykonania polecenia, natomiast sam wynik polecenia nie jest prezentowany. Bieżąca wersja Oracle SQL Developer nie wspiera jednak tego trybu pracy. 7. Podobnie jak w przypadku polecenia EXPLAIN PLAN, Oracle SQL Developer udostępnia narzędzie, które wyświetla plan polecenia SQL w formie grafu, przy użyciu mechanizmu AUTOTRACE. W tym celu po wpisaniu tekstu polecenia należy nacisnąć przycisk Autotrace..., umieszczony w pasku narzędziowym, lub nacisnąć klawisz F6. Wyświetlone zostają dwa okna: jedno z planem wykonania, a drugie ze statystykami wykonania polecenia. Prezentowane informacje są identyczne z tymi, które uzyskujemy po użyciu dyrektywy AUTOTRACE ON (patrz poniższy rysunek).

Optymalizacja poleceń SQL 10

Optymalizacja poleceń SQL 11 Funkcja DBMS_XPLAN.DISPLAY_CURSOR Używając do wyświetlania planów wykonania mechanizmów EXPLAIN PLAN oraz AUTOTRACE, nie mamy gwarancji, że zaprezentowany plan jest rzeczywistym planem, jaki byłby wybrany do wykonania polecenia SQL. Jeśli chcemy wyświetlić plan rzeczywisty, musimy samodzielnie sięgnąć do wewnętrznych struktur SZBD. 1. W Oracle SQL Developer przygotuj i wykonaj zapytanie wyświetlające nazwy zespołów wraz z liczbami pracujących w nich pracowników. Zapytanie może wyglądać jak przedstawiono poniżej. SELECT nazwa, COUNT(*) FROM opt_pracownicy JOIN opt_zespoly USING(id_zesp) GROUP BY nazwa ORDER BY nazwa; 2. Użyjemy teraz predefiniowanej funkcji DISPLAY_CURSOR z pakietu DBMS_XPLAN. Powoduje ona wyświetlenie rzeczywistego planu wykonania zrealizowanego wcześniej polecenia SQL. Uwaga! Poznana wcześniej funkcja DBMS_XPLAN.DISPLAY jedynie odczytuje z relacji PLAN_TABLE informacje o planie zbudowanym w reakcji na żądanie użytkownika (poleceniem EXPLAIN PLAN) plan ten de facto nie został użyty do wykonania polecenia. Funkcja DBMS_XPLAN.DISPLAY_CURSOR odczytuje z wewnętrznych struktur SZBD informacje o planie, który rzeczywiście został wybrany do realizacji wykonanego polecenia SQL. 3. Wykonaj poniższe polecenie. SELECT * FROM TABLE(dbms_xplan.display_cursor()); Wywołanie funkcji DBMS_XPLAN.DISPLAY_CURSOR bez parametrów odczytuje z wewnętrznych struktur SZBD informacje o planie wykonania, jaki został użyty do realizacji ostatnio wykonywanego w sesji polecenia SQL. Otrzymany wynik przedstawia poniższy rysunek.

Optymalizacja poleceń SQL 12 Jak widzimy, prezentowane informacje to plan wykonania polecenia SQL. Znaczenia poszczególnych elementów raportu są identyczne jak te, które zostały omówione w części warsztatu, dotyczącej polecenia EXPLAIN PLAN. 4. Używając funkcji DBMS_XPLAN.DISPLAY_CURSOR, możemy również odczytać plan wykonania innego polecenia niż ostatnio wykonywane w sesji. W tym celu jako parametr funkcji należy podać identyfikator polecenia. Identyfikator polecenia jest nadawany przez SZBD automatycznie i należy go szukać w perspektywie systemowej V$SQL w kolumnie SQL_ID filtrując dane tej perspektywy wg tekstu poszukiwanego polecenia w kolumnie SQL_TEXT. Poniższe polecenie znajdzie rekord w perspektywie V$SQL opisujący zapytanie z punktu 1. SELECT sql_text, sql_id, to_char(last_active_time, 'yyyy.mm.dd hh24:mi:ss') as last_active_time, parsing_schema_name FROM v$sql WHERE sql_text LIKE 'SELECT nazwa%opt_pracownicy JOIN opt_zespoly%order BY nazwa'; Uwaga! Powyższe zapytanie może zwrócić informacje o identycznym zapytaniu, ale wykonanym przez innych użytkowników bazy danych. Znajdź w wyniku zapytania ten wiersz, który odnosi się do Twojego schematu ma w kolumnie PARSING_SCHEMA_NAME ciąg znaków równy nazwie Twojego schematu.

Optymalizacja poleceń SQL 13 Otrzymany identyfikator polecenia (wartość w kolumnie SQL_ID) przekazujemy jako parametr funkcji DBMS_XPLAN.DISPLAY_CURSOR o nazwie SQL_ID: SELECT * FROM TABLE(dbms_xplan.display_cursor(sql_id => 'buz2ccxnxsgwf')); Powinniśmy otrzymać raport identyczny z tym z punktu 3. 5. Można ułatwić sobie wyszukiwanie identyfikatorów poleceń w V$SQL, umieszczając w tekście polecenia (np. po klauzuli SELECT) komentarz z numerem Twojego indeksu. Np. po wykonaniu polecenia: SELECT /* MOJE_ZAPYTANIE_12345*/ nazwa, count(*) FROM opt_pracownicy JOIN opt_zespoly USING(id_zesp) GROUP BY nazwa ORDER BY nazwa; odszukanie jego identyfikatora sprowadza się do wykonania poniższego zapytania. SELECT sql_id FROM v$sql WHERE sql_text LIKE 'SELECT /* MOJE_ZAPYTANIE_12345*/%';