wtorek, 16 grudnia 2008

Optymalizacja operacji na danych w OpenBaseMovil-db

System zapisu danych w OpenBaseMovile-db podobnie jak RMS opiera się na schemacie otwierania i ich zamykania. Gdy chcemy wykonać jakieś operacje na danych zbiór odpowiadający tabeli (to samo indeksy) jest otwierany a gdy skończymy to zamykany. Dzieje się to automatycznie i wykonywane jest przez bibliotekę. Co ciekawe dany zbiór może być otwierany kilka razy i kilka razy zamykany. Używany jest do tego licznik, który pilnuje aby tylko za pierwszym razem otworzyć zbiór i zamknąć go wtedy gdy liczba zamknięć będzie odpowiadać liczbie otwarć. Można to wykorzystać do optymalizacji operacji na zbiorach. Jeśli pozostawiamy wszystko bibliotece, podczas np 300 insertów 300 razy wykonywana jest operacja otwierania i zamykania zbioru. Jeśli sami wcześniej otworzymy zbiór to wykona się to tylko raz i znacznie przyspieszy wprowadzanie danych.
Otwieranie zbioru wykonywane jest przez wywołanie operacji na tabeli openTree();.
Schemat:
try {
tabela.openTree();
// wstawianie danych
} finally {
tabela.closeTree();
}
I już jest znacznie wydajniej :) Tylko koniecznie trzeba pamiętać o zamknięciu zbioru!

Brak komentarzy:

Prześlij komentarz