We present a new approach to optimization of ąuery languages using materialization of resułts previously answered ąueries. It is based on the stack-based approach (SBA) to object-oriented ąuery languages, which assumes the description of semantics in the form of abstract implementation of ąuery/programming language constructs. The semantics is expressed in terms of naming, scoping and binding. It involves an environmental stack - a basie mechanism of majority of programming languages. Novelty of our approach concerns methods and data structures proposed to realize the optimization method. The main properties of the structures as well as its essential problems arę outlined, particularly the problem of updating cached ąueries after changes of database content. In the report we present detailed description of our approach including all necessary information on the syntax, semantics, implementation and pragmatics of corresponding language constructs.
PL
Przedstawiamy nowe rozwiązanie optymalizacji języków zapytań z wykorzystaniem materializacji wyników wcześniej zrealizowanych zapytań. Rozwiązanie to bazuje na podejściu stosowym (SBA) do obiektowych języków zapytań wprowadzającym opis semantyki w formie abstrakcyjnej implementacji konstrukcji języka zapytań lub programowania. Semantyka ta jest wyrażana za pomocą trzech terminów: nazw, zakresu i wiązania. Wykorzystywany jest stos środowiskowy - podstawowy mechanizm większości języków programowania. Oryginalność naszego rozwiązania dotyczy metod i struktur danych proponowanych do realizacji wspomnianej metody optymalizacyjnej. Zostały opisane główne własności tych struktur danych, jak również istotne problemy, w szczególności problem aktualizacji zapamiętanych zapytań po zmianach zawartości bazy danych. W raporcie przedstawiamy szczegółowy opis naszego rozwiązania, w tym wszystkie niezbędne informacje dotyczące składni, semantyki, implementacji i pragmatyki odpowiednich konstrukcji językowych.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.