Очень краткая справка: мы используем хранимые процедуры CLR для применения контроля доступа, используя Active Directory, к результатам запроса, чтобы ограничить то, что конечный пользователь может соответственно видеть.В двух словах, это делается путем удаления строк из таблицы данных, где пользователь не удовлетворяет критериям доступа к результату (в данном случае документ).
Эта фильтрация ранее выполнялась на клиенте перед отображением результатов.SQL 2008 и гораздо более мощный сервер - это мотивация для того, чтобы убрать эту фильтрацию доступа с клиента.
Мне интересно, есть ли какой-то выигрыш в производительности от вызова оригинальной обычной хранимой процедуры T-SQLиз эквивалента хранимой процедуры CLR вместо передачи встроенного T-SQL в объект команды (который в данном случае является просто исходным T-SQL, который был сделан хранимой процедурой)?Я не могу найти где-нибудь, где кто-то упомянул об этом (отчасти, вероятно, потому что это было бы очень запутанным как пример SP CLR, я думаю :-)).Мне кажется, что вы могли бы, так как хранимый процесс T-SQL уже был оптимизирован и скомпилирован?
Кто-нибудь может подтвердить это для меня?
Надеюсь, я был достаточно ясен.Большое спасибо,
Колм.