A database system providing improved methods for optimization and execution
of queries aggregating information from multiple database tables is
described. The improved method breaks serial operations into a group of
child operations that can be individually optimized and processed in
parallel. A query including a grouping operator over a union node is split
by pushing the grouping operation down into each input arm of the union
node. Specifically, grouping operators are inserted into each child arm of
qualifying union nodes, enabling separate physical database tables to be
summarized in parallel. Each of the child grouping operators concurrently
groups data and generates summary results in parallel, taking advantage of
capabilities of available parallel processing hardware. The aggregate
operators of the original master grouping operator are modified to accept
and correctly synthesize sub-aggregated results generated by each of the
child grouping operators. The method also enables individual optimization
of operations on each database table, including use of advantageous
index-only execution plans.
Ένα σύστημα βάσεων δεδομένων που παρέχει τις βελτιωμένες μεθόδους για τη βελτιστοποίηση και την εκτέλεση των ερωτήσεων που αθροίζουν τις πληροφορίες από τους πολλαπλάσιους πίνακες βάσεων δεδομένων περιγράφεται. Η βελτιωμένη μέθοδος σπάζει τις τμηματικές διαδικασίες σε μια ομάδα διαδικασιών παιδιών που μπορεί να βελτιστοποιηθεί χωριστά και να υποβληθεί σε επεξεργασία παράλληλα παράλληλος. Μια ερώτηση συμπεριλαμβανομένου ενός ομαδοποιώντας χειριστή πέρα από έναν κόμβο ένωσης χωρίζεται με να ωθήσει τη λειτουργία ομαδοποίησης κάτω σε κάθε σκέλος εισαγωγής του κόμβου ένωσης. Συγκεκριμένα, οι ομαδοποιώντας χειριστές παρεμβάλλονται σε κάθε σκέλος παιδιών των κόμβων ένωσης, επιτρέποντας στους χωριστούς φυσικούς πίνακες βάσεων δεδομένων για να είναι συνοψισμένος παράλληλα παράλληλος να. Κάθε ένας από τους ομαδοποιώντας χειριστές παιδιών ομαδοποιεί ταυτόχρονα τα στοιχεία και παράγει τα συνοπτικά αποτελέσματα παράλληλα παράλληλα, που εκμεταλλεύονται τις ικανότητες του διαθέσιμου υλικού παράλληλης επεξεργασίας. Οι συνολικοί χειριστές του αρχικού κύριου ομαδοποιώντας χειριστή τροποποιούνται για να δεχτούν και να συνθέσουν σωστά τα υπο--αθροισμένα αποτελέσματα που παράγονται από κάθε έναν από τους ομαδοποιώντας χειριστές παιδιών. Η μέθοδος επιτρέπει επίσης τη μεμονωμένη βελτιστοποίηση των διαδικασιών σε κάθε πίνακα βάσεων δεδομένων, συμπεριλαμβανομένης της χρήσης των συμφερόντων δείκτης-μόνο σχεδίων εκτέλεσης.