Вот такой запрос:
return (from messageEntity in MainDataContext.Instance.MessageEntities
where messageEntity._accountId == accountId
&& messageEntity.Readed == false
orderby messageEntity.Id descending
select messageEntity).FirstOrDefault();
В поиске участвуют _accountId и Readed, но сортировка по ключу Id в обратном порядке.
Обязательно ли писать DESC для Id в индексе? Если не написать -- то запрос должен вернуть самый последний элемент в списке, если написать -- то самый первый. По идее сам движок DB должен догадаться?
P.S.
База данных MS SQL
CE (для Windows Phone 7). Попытался экспериментальным способом. Вставил 50 тыс. записей вообще без индекса -- выделяет за 0.2 сек. Вставил с индексом -- результат практически не изменился. Оно что само индекс добавляет?