Fundamental techniques for order optimization

D Simmen, E Shekita, T Malkemus - Proceedings of the 1996 ACM …, 1996 - dl.acm.org
D Simmen, E Shekita, T Malkemus
Proceedings of the 1996 ACM SIGMOD International Conference on Management of …, 1996dl.acm.org
Decision support applications are growing in popularity as more business data is kept on-
line. Such applications typically include complex SQL queries that can test a query
optimizer's ability to produce an efficient access plan. Many access plan strategies exploit
the physical ordering of data provided by indexes or sorting. Sorting is an expensive
operation, however. Therefore, it is imperative that sorting is optimized in some way or
avoided all together. Toward that goal, this paper describes novel optimization techniques …
Decision support applications are growing in popularity as more business data is kept on-line. Such applications typically include complex SQL queries that can test a query optimizer's ability to produce an efficient access plan. Many access plan strategies exploit the physical ordering of data provided by indexes or sorting. Sorting is an expensive operation, however. Therefore, it is imperative that sorting is optimized in some way or avoided all together. Toward that goal, this paper describes novel optimization techniques for pushing down sorts in joins, minimizing the number of sorting columns, and detecting when sorting can be avoided because of predicates, keys, or indexes. A set of fundamental operations is described that provide the foundation for implementing such techniques. The operations exploit data properties that arise from predicate application, uniqueness, and functional dependencies. These operations and techniques have been implemented in IBM's DB2/CS.
ACM Digital Library