У меня есть хранимая процедура, в которой есть оператор select:
select
(select Count(FaqId) from faq_read_stats where faqid = Faq.Id) as ReadCount,
Faq.*
from Faq
where Faq.Show = 1 and Faq.Active = 1
Это дает мне результаты, которые я хочу, но кажется, что наличие счетчика ad-hoc select там может быть не оптимизировано для SQL Server.
Я попытался выполнить внутреннее соединение с таблицей faq_read_stats, но это не дало правильных результатов (из-за этого отсутствовали записи faq, в которых не было записи в faq_read_stats, в то время как sql, который я набрал выше, правильно показывает счетчик 0 для них).
Есть ли более эффективный способ получения этих данных?