MySQL udostępnia bezpośredni dostęp do silników InnoDB i MyISAM – realizowany jest on przy pomocy polecenia HANDLER. Jego zasada działania sprowadza się z grubsza do tego, że operuje on na indeksie i pobiera rekord dla danego wpisu w indeksie. Wygląda to mniej więcej tak:
HANDLER tabela READ jakis_indeks='jakas wartosc';
Efektem powyższego jest zwrócenie zawartości rekordu, w przypadku którego kolumna indeksowana przez indeks „jakis_indeks” posiada wartość „jakas wartosc”. Więcej szczegółów na ten temat można oczywiście znaleźć w dokumentacji MySQL. Zgodnie z dokumentacją, HANDLER jest szybszy niż SELECT. Wiąże się to z tym, że odpada problem z koniecznością analizy i parsowania SQL, nie jest konieczny udział optimizera (bo skoro nie ma SQL, to nie bardzo co jest optymizować), nie stosuje się lockowanie tabel, tak więc odpada kolejny element do pilnowania. Sprawdźmy z resztą dokładnie jak to wygląda w praktyce:
czytaj dalej…