Journal article icon

Journal article

Adding magic to an optimising datalog compiler.

Abstract:
The magic-sets transformation is a useful technique for dramatically improving the performance of complex queries, but it has been observed that this transformation can also drastically reduce the performance of some queries. Successful implementations of magic in previous work require integration with the database optimise!' to make appropriate decisions to guide the transformation (the sideways information-passing strategy, or SIPS). This paper reports on the addition of the magic-sets transformation to a fully automatic optimising compiler from Datalog to SQL with no support from the database opti-miser. We present an algorithm for making a good choice of SIPS using heuristics based on the sizes of relations. To achieve this, we define an abstract interpretation of Datalog programs to estimate the sizes of relations in the program. The effectiveness of our technique is evaluated over a substantial set of over a hundred queries, and in the context of the other optimisations performed by our compiler. It is shown that using the SIPS chosen by our algorithm, query performance is often significantly improved, as expected, but more importantly performance is never significantly degraded on queries that cannot benefit from magic. © Copyright 2008 ACM.

Actions

Access Document

Publisher copy:
10.1145/1376616.1376673

Authors

Contributors

Role:
Editor


Publisher:
ACM
Journal:
SIGMOD Conference More from this journal
Pages:
553-566
Publication date:
2008-01-01
DOI:
ISSN:
0730-8078


Language:
English
Keywords:
Pubs id:
pubs:328648
UUID:
uuid:0710a132-450a-47b7-a621-94061580acfc
Local pid:
pubs:328648
Source identifiers:
328648
Deposit date:
2013-11-17
ARK identifier:

Terms of use


Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP