3. PRZYKŁADOWE EKSPERYMENTY
W tej sekcji przedstawione zostanie zastosowanie opisywanego systemu do prostych eksperymentów, których wyniki są łatwe do przewidzenia i które posłużą do ilustracji i sprawdzenia działania systemu.
Eksperyment 1. Zależność szybkości nieindeksowanej selekcji od rozmiaru tabeli. Na początek zobrazowana zostanie zależność pomiędzy szybkością selekcji z nieindeksowanej tabeli a rozmiarem tej tabeli. W tym celu przeprowadzony zostanie następujący eksperyment z wykorzystaniem dwóch klientów oraz tabeli testowej o nazwie testowa zawierającej następujące pola:
Indeks : pole liczbowe (klucz główny), nazwa pole testowe(VARCHAR(20),
wartość: pole liczbowe (INT(6)).
Klient nr. 1 wstawia wiersze o losowych wartościach pola wartość (losowanych według rozkładu równomiernego z przedziału 1-1 000 000) z częstością 10 zapytań na sekundę, częstość ta została dobrana tak aby była stała przez cały czas eksperymentu po to aby móc łatwo przeliczyć czas eksperymentu na rozmiar tabeli. Klient nr. 2 wykonuje zapytanie selekcji z tabeli testowa dotyczące pól o danych wartościach pola wartość, losowanych wg. rozkładu równomiernego z przedziału 1-1000 000.
Klient 2 zadaje zapytania z nominalną częstością 100/sekundę.
Efektywność zapytań klienta 2 powinna zmieniać się wraz z rozmiarem tabeli jak funkcja 1/n gdzie n jest ilością wierszy w tabeli (jeśli czas potrzebny na wykonanie zapytania jest O(n) to ilość zapytań w danej jednostce czasu jest O(1/n))
Dopóki tabela jest na tyle mała, że serwer może przetwarzać więcej niż 100 zapytań selekcji na sekundę efektywność klienta 2 wynosi 100%. Wraz ze wzrostem rozmiaru tabeli jednak efektywność maleje zgodnie z zależnością 1/n (rys.3) gdzie n- rozmiar tabeli (ilość wierszy).
Eksperyment 2. Zależność szybkości indeksowanej selekcji od rozmiaru tabeli
Tabela testowa o nazwie testowa zawiera takie same pola jak w poprzednim eksperymencie, z tym że pole wartość jest indeksowane.
Klient nr. 1 wstawia wiersze o losowych wartościach pola wartość (losowanych według rozkładu równomiernego z przedziału 1- 1 000 000).
Klient nr. 2 wykonuje zapytanie selekcji z tabeli testowa dotyczące pól o danych wartościach pola wartość, losowanych wg. rozkładu równomiernego z przedziału 1- 1 000 000. Klient 2 zadaje zapytania z nominalną częstością 100/sekundę.
Rys 3. Wyniki eksperymentu 1 (bez indeksowania)
Rys. 4 Wyniki eksperymentu 2 ( z indeksem)
Zgodnie z oczekiwaniami efektywność selekcji z indeksowanej tabeli jest znacznie większa niż z nieindeksowanej(operujemy ilością wierszy wyrażoną w milionach).