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

SEKWENCJA Oracle — „przyrost o” i „pamięć podręczna”

Żaden. Nie ma związku między INCREMENT BY a pamięcią podręczną.

INCREMENT BY kontroluje monotoniczny aspekt sekwencji. Z INCREMENT BY 50 seria idzie 1, 51, 101, 151 i tak dalej.

CACHE kontroluje, ile numerów sekwencyjnych jest przechowywanych w pamięci w celu obsługi żądań NEXTVAL. Im mniejszy numer CACHE, tym częściej baza danych musi odczytywać ze swoich wewnętrznych tabel, aby pobrać następny zakres alokacji. Tak więc w średnio obciążonym systemie chcielibyśmy zminimalizować liczbę pozyskanych zatrzasków, więc ustawiamy CACHE na wysoką liczbę, powiedzmy 1000.

Ludzie mają obsesję na punkcie ustawiania wartości CACHE, ponieważ myślą, że jeśli jest zbyt wysoka, mogą „zgubić” niektóre wartości i mieć luki w swoich szeregach. Jest to bardzo mało prawdopodobne, a nawet jeśli tak się stanie, nie powinniśmy się tym przejmować. Sekwencje są źródłem gwarantowanych unikalnych wartości i nie mają dalszego znaczenia.

Chociaż po ponownym przeczytaniu twojego pytania nie sądzę, aby miało to jakikolwiek wpływ na wydajność twoich wstawek zbiorczych. Dlaczego zdecydowałeś się skupić na alokacji sekwencji? Czy sprawdziłeś jakiś ślad, aby odkryć, gdzie jest wąskie gardło? Czy rozmawiałeś ze swoim DBA?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę całkowicie odinstalować Oracle 11g?

  2. Dlaczego otrzymuję błąd, gdy próbuję zmienić nazwę tabeli po FROM?

  3. Czy procedury wymagają oddzielnych praw dostępu do tabel?

  4. Dlaczego porządek sortowania varchar Oracle nie odpowiada zachowaniu porównania varchar?

  5. Aktualizacja Oracle SQL na podstawie podzapytania między dwiema tabelami