Many thanks for this, I run a relatively small but complicated database with lots of tables with lots of queries and joins. Typically I need to pull out names from personel tables and join to other records. The primary key in the in personel tables will always be indexed but currently the names are not. If I am using a query with a join to populate a report should I inlcuded the indexed primary key from personel table (even though the report will typically not use it) or should I be indexing the names as well?
Currently if a report does not require the primary key I don't include it in the SELECT part of queries only in the JOIN, so I suspect I'm losing the benefit of the indexed key, is that right? (does it make sense?)