it will see if it can read columns from index easily over traversing whole table, based on that optimizer might decide to use the index table or read from the actual table. If its small dataset, it will go for table scan (or clustered index scan if present) in most cases.