Еще вопрос, по поводу покрывающего индекса.
Если правильно помню, нужное поле должно идти первым при создании индекса.
Первым должно идти то поле, которое нужно запросу (это нужно определять по логике работы индексов).
Кстати, покрывающих индексов "в вакууме" не бывает. Полное понятие — индекс, покрывающий данный запрос.
То есть это такой индекс, из которого можно получить все нужные данному запросу данные, и обращаться к самой таблице не нужно.