Индексирование и статистика - это всегда первое, на что нужно обращать внимание при оптимизации производительности, но для более общего подхода к этому конкретному запросу:
Предложение OR
фактически разделит запрос на два запроса.одну проверку для каждого критерия, выполните оба, а затем объедините результаты и отфильтруйте дубликаты.
Вы можете повысить производительность с помощью запроса, например
SELECT * FROM emails e
WHERE (e.From + '/' + e.To) LIKE '%@hotmail.com%'
ORDER BY id DESC
... хотя этонемного страшнее =) Попробуйте в своем анализаторе запросов и посмотрите, что работает лучше ...
РЕДАКТИРОВАТЬ
Как Мартин указал в комментариях, если поля обнуляютсяусловие WHERE
должно быть обновлено, чтобы учесть следующее:
WHERE ( ISNULL(e.From,'') + '/' + ISNULL(e.To,'') ) LIKE '%@hotmail.com%'