FirstOrDefault возвращается, как только находит результат, поэтому он может быть немного быстрее, но не на порядок ... В любом случае, ваш второй запрос может вернуть более одного результата, так что это не совсем справедливое сравнение. Вместо этого вы можете сравнить его с SingleOrDefault , который похож на Select, но возвращает только 1 результат.
SingleOrDefault, как и Select, должен пройти весь список, но он гарантирует, что вы получите один и только один результат.
Примечание. Если вы используете Linq to SQL, ваш второй запрос может быть быстрее, зависит от ваших индексов ...