BIROn - Birkbeck Institutional Research Online

    Constant propagation versus join reordering in datalog

    Consens, M.P. and Mendelzon, A.O. and Vista, D. and Wood, Peter (1995) Constant propagation versus join reordering in datalog. In: Sellis, T. (ed.) RIDS 95: Rules in Database Systems. Lecture Notes in Computer Science 985. Springer, pp. 245-259. ISBN 9783540603658.

    Full text not available from this repository.

    Abstract

    Constant propagation and join reordering are two standard optimization techniques used for Datalog programs. These techniques have typically been studied independently of one another. However, in order to achieve constant propagation it is sometimes necessary to impose a certain join ordering on a given program. In the worst case this ordering may result in efficiencies which overcome the benefit of constant propagation. Thus the goal of constant propagation should not necessarily be pursued to the exclusion of all else. We study this problem in the context of GraphLog, a visual language whose queries are graphical notations which are translated into Datalog. We study two translation schemes from GraphLog to Datalog, one which always achieves constant propagation and another which does not. We show that each translation can significantly outperform the other. We demonstrate this by both measuring execution times using actual application data, and by providing analytical formulae to explain the trade-off between constant propagation and join reordering.

    Metadata

    Item Type: Book Section
    School: Birkbeck Faculties and Schools > Faculty of Science > School of Computing and Mathematical Sciences
    Depositing User: Sarah Hall
    Date Deposited: 18 Oct 2021 16:24
    Last Modified: 09 Aug 2023 12:52
    URI: https://eprints.bbk.ac.uk/id/eprint/46337

    Statistics

    Activity Overview
    6 month trend
    0Downloads
    6 month trend
    191Hits

    Additional statistics are available via IRStats2.

    Archive Staff Only (login required)

    Edit/View Item
    Edit/View Item