Am learning about indexing from the docs but am a bit confused on this point. My assumption up to now was that your predicates are the bit of your query that determine whether and which indexes are used. It's this part of the query that restricts which rows are located/fetched so it makes sense that indexes will help with this.
In the Developers Guide doc I came across a recommendation however that (paraphrasing) indexes should be added to columns that you query frequently. My interpretation of 'query' here is 'select', I may be wrong here however.
In that context then it suggests the columns you're Selecting will drive whether an index is used, rather than the columns in your where clause, I think?
Can anyone clarify please?