вот еще одно решение, надеюсь, что это поможет кому-то
Select a.id , a.rev, a.content from Table1 a
inner join
(SELECT id, max(rev) rev FROM Table1 GROUP BY id) x on x.id =a.id and x.rev =a.rev
Три вещи, на которые нужно смотреть, в порядке предпочтения:
AddWithValue()
, так как это может иметь катастрофические последствия для производительности при ADO.Net догадывается, что тип столбца неправильный. Сделайте то, что нужно, чтобы установить явный тип БД для каждого параметра Вы не разместили свой запрос, но, основываясь только на том, как он строится с динамическим списком параметров и большим количеством параметров, я собираюсь сделать предположение и сказать, что он имеет какое-то отношение к параметру sniffing - см .:
Основной идеей проблемы является создание оптимального плана выполнения запроса для определенного набора параметров, что очень мало оптимально для другого набора.
Существует несколько способов обойти проблемы с параметрами нюхания (к счастью, многие из них открылись в SQL Server 2008).
Вы могли:
WITH RECOMPILE
к вашему сохраненному proc / option (recompile)
в ваш запрос optimize for unknown
/ option (optimize for...
к вашему proc / query