1. A method of estimating selectivity of a base table predicate, the method comprising: receiving, with a processor, a database query, the query comprising one or more query predicates and referencing one or more database tables; identifying, with the processor, one or more join indexes, wherein each of the one or more join index(es) is respectively defined on a single one of database tables referenced by the database query, the join index(es) comprising one or more join index predicates; calculating, with the processor, a row count of rows of the database tables referenced by the database query selected by the query predicates at least partly using a row count of the one or more join indexes or statistics of the one or more join indexes; and calculating, with the processor, selectivity of at least one of the query predicates at least partly from the calculated row count.