Merging sorted runs using large main memory
Acta Informatica
A survey of adaptive sorting algorithms
ACM Computing Surveys (CSUR)
Fundamental techniques for order optimization
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
View indexing in relational databases
ACM Transactions on Database Systems (TODS)
Approximation algorithms for directed Steiner problems
Journal of Algorithms
Towards estimation error guarantees for distinct values
PODS '00 Proceedings of the nineteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Efficient and extensible algorithms for multi query optimization
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
Communications of the ACM
Efficient execution of joins in a star schema
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
Access path selection in a relational database management system
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Speeding Up External Mergesort
IEEE Transactions on Knowledge and Data Engineering
Prefetching with Multiple Disks for External Mergesort: Simulation and Analysis
Proceedings of the Eighth International Conference on Data Engineering
Dynamic Memory Adjustment for External Mergesort
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
Buffering and Read-Ahead Strategies for External Mergesort
VLDB '98 Proceedings of the 24rd International Conference on Very Large Data Bases
Distinct Sampling for Highly-Accurate Answers to Distinct Values Queries and Event Reports
Proceedings of the 27th International Conference on Very Large Data Bases
On the Computation of Multidimensional Aggregates
VLDB '96 Proceedings of the 22th International Conference on Very Large Data Bases
The Volcano Optimizer Generator: Extensibility and Efficient Search
Proceedings of the Ninth International Conference on Data Engineering
Arborescence optimization problems solvable by Edmonds' algorithm
Theoretical Computer Science
External Sorting: Run Formation Revisited
IEEE Transactions on Knowledge and Data Engineering
The optimization of queries in relational databases
The optimization of queries in relational databases
An Efficient Framework for Order Optimization
ICDE '04 Proceedings of the 20th International Conference on Data Engineering
Implementing sorting in database systems
ACM Computing Surveys (CSUR)
Avoiding sorting and grouping in processing queries
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
A combined framework for grouping and order optimization
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
Cooperative scans: dynamic bandwidth sharing in a DBMS
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Optimizing complex queries with multiple relation instances
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Optimization of analytic window functions
Proceedings of the VLDB Endowment
Hi-index | 0.00 |
Many database applications require sorting a table (or relation) over multiple sort orders. Some examples include creation of multiple indices on a relation, generation of multiple reports from a table, evaluation of a complex query that involves multiple instances of a relation, and batch processing of a set of queries. In this paper, we study how to optimize multiple sortings of a table. We investigate the correlation between sort orders and exploit sort-sharing techniques of reusing the (partial) work done to sort a table on a particular order for another order. Specifically, we introduce a novel and powerful evaluation technique, called cooperative sorting, that enables sort sharing between seemingly non-related sort orders. Subsequently, given a specific set of sort orders, we determine the best combination of various sort-sharing techniques so as to minimize the total processing cost. We also develop techniques to make a traditional query optimizer extensible so that it will not miss the truly cheapest execution plan with the sort-sharing (post-) optimization turned on. We demonstrate the efficiency of our ideas with a prototype implementation in PostgreSQL and evaluate the performance using both TPC-DS benchmark and synthetic data. Our experimental results show significant performance improvement over the traditional evaluation scheme.