To avoid storing redundant data, base join index definitions on foreign key=primary key predicates. Add either the primary key or the foreign key to the index definition, but not both, because the Optimizer has the intelligence to derive either from the other.