niedziela, 9 września 2012

Kompilacja kodu do postaci natywnej i kompilowanej [tuning pl sql]

Mamy dwa rodzaje kompilacji kodu PL SQL w Oracle. Program może zostać skompilowany do postaci natywnej lub interpretowanej.

Kompilacja do postaci interpretowanej : tak jest ustawione domyślnie. Kod programu ląduje w słowniku systemowym i jest interpretowany przed każdym wykonaniem. Program szybciej się kompiluje, ale wolniej uruchamia w porównaniu do postaci natywnej. Dobre do środowisk testowych, gdzie często przebudowujemy kod. Mało fajny na środowiskach produkcyjnych, zwłaszcza jeśli program będzie wywoływany często.

Kompilacja do postaci natywnej: to trzeba sobie ustawić (dla systemu , albo dla sesji). Kod programu jest kompilowany do kodu natywnego i przechowywany w tablespace SYSTEM. Nie musi być za każdym uruchomieniem interpretowany. Uruchamia się szybciej w porównaniu z postacią interpretowaną. Dobre do środowisk produkcyjnych.




Możemy włączyć typ kompilacji dla sesji lub dla systemu, jak widać to powyżej.  Dopiero od tej pory programy będą kompilowane do wybranej postaci. Wszystkie skompilowane do tej pory programy pozostają w postaci pierwotnej! Jeśli istniejące już programy chcemy mieć w postaci natywnej, to po ustawieniu trybu kompilacji na natywną należy je ponownie skompilować.

Włączyłem kompilację natywną dla sesji i skompilowałem procedurę. Zrekompilowałem też istniejący wcześniej wyzwalacz. Po wyświetleniu danych ze słownika widzimy że i nowa procedura i rekompilowany wyzwalacz są skompilowane do postaci natywnej. Pozostałe nadal są przechowywane w postaci interpretowanej.






Brak komentarzy:

Prześlij komentarz