1. A method for determining and selecting join selectivities for use by a query optimizer to improve the performance of a query in a relational database management system including a computer having memory, wherein the query optimizer is coupled to the memory of the computer and is adapted to execute the steps of the method in the memory, and wherein selectivity values for each eligible join predicate are known, said method comprising the machine-executed steps of: determining the equivalence classes for a plurality of join attributes; and for each equivalence class performing the machine-executed steps of: a) determining the eligible join predicates belonging to each of said equivalence classes; and b) selecting the largest selectivity among said eligible join predicates in each of said equivalence classes.
1. A method for determining and selecting join selectivities for use by a query optimizer to improve the performance of a query in a relational database management system including a computer having memory, wherein the query optimizer is coupled to the memory of the computer and is adapted to execute the steps of the method in the memory, and wherein selectivity values for each eligible join predicate are known, said method comprising the machine-executed steps of: determining the equivalence classes for a plurality of join attributes; and for each equivalence class performing the machine-executed steps of: a) determining the eligible join predicates belonging to each of said equivalence classes; and b) selecting the largest selectivity among said eligible join predicates in each of said equivalence classes. 2. The method for determining and selecting join selectivities as defined in claim 1 further comprising the machine-executed step of accounting for the correlation between join attributes that belong to the same equivalence class.