Browse Prior Art Database

Query Optimization for Relational Accessing Language

IP.com Disclosure Number: IPCOM000059690D
Original Publication Date: 1986-Jan-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 2 page(s) / 33K

Publishing Venue

IBM

Related People

Cheng, JM: AUTHOR [+4]

Abstract

This invention relates to query optimization in relational accessing languages with respect to predicate processing and data page I/O reduction. Among the predicates of interest include IN, NOT, LIKE, and BETWEEN. In IN predicate processing, the optimizing steps include (a) sorting the values appearing in an IN-LIST with duplicates eliminated, and (b) using the values in the IN predicate as index keys to retrieve all the rows that are satisfied with the IN predicate, in the event an index exists in the IN column. With respect to NOT predicate processing, a decomposition technique is applied to the NOT predicate so that index selection may be used. This includes the steps of normalizing the NOT node and the Boolean node in a parse tree so that the NOT node will be removed from said tree.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 82% of the total text.

Page 1 of 2

Query Optimization for Relational Accessing Language

This invention relates to query optimization in relational accessing languages with respect to predicate processing and data page I/O reduction. Among the predicates of interest include IN, NOT, LIKE, and BETWEEN. In IN predicate processing, the optimizing steps include (a) sorting the values appearing in an IN-LIST with duplicates eliminated, and (b) using the values in the IN predicate as index keys to retrieve all the rows that are satisfied with the IN predicate, in the event an index exists in the IN column. With respect to NOT predicate processing, a decomposition technique is applied to the NOT predicate so that index selection may be used. This includes the steps of normalizing the NOT node and the Boolean node in a parse tree so that the NOT node will be removed from said tree. The procedure of NOT node decomposition is described as follows: $Basic Predicate Remove the NOT predicate if the following predicate is a basic predicate by reversing the comparison operators.

(Image Omitted)

$BETWEEN Predicate A NOT predicate followed by a BETWEEN predicate is transformed to a Boolean predicate joined with two basic predicates as shown below: $IN Predicate A NOT predicate followed by an IN predicate is transformed to an "IS NOT IN" predicate. $LIKE Predicate The NOT predicate followed by a LIKE predicate (VALCOMP node) is transformed to a NOT LIKE predicate (VALCOMP node). A new comparison operator "NOT LIKE"...