The rule of thumb and suggested best practice is to create indexes with highly selective columns.
I have a table with 40 million rows that I query against frequently for reporting. In addition to a timestamp field, I have bit fields and fields with only 3-5 possible values in this table that are included in probably 75% of my queries.
In indexing this table, my tests have shown that indexes on these fields with low selectivity first are generating seeks that perform much faster than other indexes.
So an index that looks like this: (IntWith4PossValues, IntWith3PossValues, Bit, TimeStamp) performs well and in fact was the index suggested in the execution plan
This seems to go against the rule above, and I am wondering if anyone has further thoughts or insights into this.