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

Ukryte funkcje w Oracle

„Pełne skanowanie tabeli nie zawsze jest złe. Indeksy nie zawsze są dobre”.

Metoda dostępu oparta na indeksie jest mniej wydajna przy odczytywaniu wierszy niż pełne skanowanie, gdy jest mierzona pod względem liczby wierszy dostępnych na jednostkę pracy (zazwyczaj na odczyt logiczny). Jednak wiele narzędzi zinterpretuje pełny skan tabeli jako oznakę nieefektywności.

Weź przykład, w którym czytasz kilkaset faktur z tabeli faktur i szukasz metody płatności w małej tabeli przeglądowej. Używanie indeksu do sprawdzania tabeli przeglądowej dla każdej faktury prawdopodobnie oznacza trzy lub cztery logiczne operacje we/wy na fakturę. Jednak pełne skanowanie tabeli przeglądowej w ramach przygotowań do łączenia mieszającego na podstawie danych faktury prawdopodobnie wymagałoby tylko kilku odczytów logicznych, a samo połączenie mieszające zostałoby skompletowane w pamięci prawie bez żadnych kosztów.

Jednak wiele narzędzi spojrzy na to i zobaczy „pełne skanowanie tabeli” i powie ci, abyś spróbował użyć indeksu. Jeśli to zrobisz, być może właśnie odstroiłeś swój kod.

Nawiasem mówiąc, nadmierne poleganie na indeksach, jak w powyższym przykładzie, powoduje wzrost "Współczynnika trafień w buforze pamięci podręcznej". Dlatego BCHR jest w większości nonsensem jako predyktor wydajności systemu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw zbiorczy do bazy danych Oracle:Co jest lepsze:pętla FOR Cursor czy prosty Select?

  2. Zmodyfikuj zapytanie widoku zmaterializowanego

  3. Jak wyprowadzić wynik Oracle SQL do pliku w systemie Windows?

  4. Jak wyeksportować wynik zapytania do programu Excel w programie Oracle SQL Developer?

  5. Błąd Oracle ORA-12154 w lokalnych usługach IIS, ale nie w programie Visual Studio Development Server