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

Jak zbierać dane z partycji INMEMORY?

Budzi się proces IMCO (Inmemory Coordinator) co dwie minuty i sprawdza, czy należy wykonać jakieś zadania związane z populacją. Dlatego wysyłanie zapytań do tabeli natychmiast po włączeniu jej dla pamięci nie gwarantuje, że zapytanie będzie obsługiwane z pamięci.

Obiekty są umieszczane w magazynie kolumn IM albo na liście priorytetów natychmiast po otwarciu bazy danych lub po pierwszym przeskanowaniu tabel (zapytaniu).

Na przykład, jeśli włączymy tabelę tab1, tab2, tab3 dla pamięci:

alter table tab1 inmemory priority medium;
alter table tab3 inmemory priority high;
alter table tab2 inmemory priority critical;

Tabele te trafiają do pamięci, gdy:

  1. Proces IMCO pobiera te tabele i ładuje je do obszaru pamięci (w kolejności od najwyższego do najniższego:tab2, tab3 i tab1)
  2. Jeśli wykonamy zapytanie select na dowolnej z tabel (przykład:select * from tab1 ) przed rozpoczęciem procesu IMCO (co 2 minuty)

Aby dowiedzieć się, czy tabela/partycja jest całkowicie załadowana do pamięci, możesz wykonać zapytanie v$im_segments zobacz jak poniżej:

select owner, segment_name, partition_name, segment_type, bytes, 
bytes_not_populated, populate_status from v$im_segments;

Aby odpowiedzieć na twoje pytanie:

  1. Upewnij się, że tabela jest załadowana do pamięci, wysyłając zapytanie v$im_segments
  2. Jeśli tabela nie jest załadowana, wykonaj na niej zapytanie wybierające, aby załadować ją do obszaru pamięci
  3. Pobierz plan zapytania dla zapytania wybierającego w tabeli, powinien pokazywać INMEMORY jako część planu

Zapoznaj się z tym oficjalnym dokumentem po więcej szczegółów.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL porównuje rekordy w tabeli

  2. Jak przetestować uprawnienia do odczytu/zapisu w systemie plików katalogu Oracle?

  3. Potrzebujesz pomocy w wykonaniu natychmiastowego zapytania o aktualizację

  4. Dlaczego wybór z procedury składowanej nie jest obsługiwany w relacyjnych bazach danych?

  5. Jak pobrać informacje o hoście, porcie, identyfikatorze, użytkowniku i haśle w java.sql.Connection?