Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dostrajanie SQL

Nie tak dawno temu udostępniłem naszym pracownikom zajmującym się tworzeniem aplikacji samouczek dotyczący planu wyjaśniania. Jedno z pytań, które się pojawiło, dotyczyło sposobu decydowania, które instrukcje SQL wymagają dostrojenia? Używam kilku różnych podejść i znajduję kandydatów do strojenia SQL pod różnymi kątami.

  1. Rutynowo przeprowadzam przeglądy kodu instrukcji SQL, które trafiają do naszej bazy danych. Wykorzystuję swoje doświadczenie, aby szybko przyjrzeć się instrukcji SQL, która jest nowa lub została znacząco zmodyfikowana, aby zdecydować, czy muszę dalej badać SQL. Na przykład, jeśli zapytanie w tabeli wyszukuje w kolumnie PK lub Unique, to mogę być prawie pewien, że będzie działać szybko. Jeśli instrukcja SQL wydaje mi się podejrzana, przeprowadzę ją przez Plan wyjaśniania i/lub zmierzę instrukcję, aby upewnić się, że działa wystarczająco.
  2. Operator Oracle Enterprise ostrzega mnie o rywalizacji o zasoby w naszym systemie testowej bazy danych. Wszelkie instrukcje SQL, które pominąłem podczas przeglądu kodu, można czasem znaleźć tutaj. Jeśli otrzymam alert o rywalizacji o zasoby, wskoczę i zobaczę, czy jedna lub dwie instrukcje SQL powodują problem. To moja ostatnia szansa na przechwycenie instrukcji SQL, zanim trafią do produkcji.
  3. Wykorzystuję Ignite dla Oracle. Ten produkt pochodzi od Confio, ale Confio jest teraz częścią Solarwinds. Zwykle nie podłączam produktów dostawcy, ale w tym przypadku zrobię wyjątek. Najbardziej podoba mi się w Ignite to, że w każdy poniedziałek wysyłam do mnie e-mail z raportem. Raport zawiera N najczęstszych przestępców na podstawie czasu oczekiwania. Spojrzenie na ten raport zajmuje mi kilka sekund. W raporcie szukam dużych pasków. Na przykładowym zrzucie ekranu poniżej widać niebieski pasek, który natychmiast przykuwa Twoją uwagę. Liczba po prawej jest wartością identyfikatora i jeśli ją klikniesz, możesz uzyskać tekst SQL. To świetny sposób na zidentyfikowanie instrukcji SQL, które wymagają dostrojenia. To super szybkie i super łatwe.

Jak widać, staram się znaleźć problematyczne SQL w miarę ich opracowywania, w naszym systemie testowym, a nawet po wejściu do produkcji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lista elementów formatu liczb w Oracle

  2. Normalizuj dane transakcji od kolumn czasu i statusu do minut na wartość statusu

  3. Jak uciec ze znaków <,> i &do encji HTML w Oracle PL/SQL

  4. InMemory DUPLIKAT Zamieszanie w Oracle RAC

  5. Oracle Apex 5.0 — Wyświetlaj obraz statyczny