Мы внедряем новое масштабируемое и ориентированное на производительность приложение ASP.Net в нашей организации, которое в настоящее время находится на этапе разработки.
Менеджеры решили использовать гибридный подход.Они решили широко использовать хранимые процедуры CLR, а T-SQL - только для простых манипуляций с данными.
Мне бы хотелось узнать от сообщества следующее:
- Может ли быть производительностьпроблемы на более позднем этапе с таким большим количеством хранимых процедур CLR?
- Если у вас возникли проблемы с производительностью, было ли исправление доступно от команды MS?
Примечание: я сделал Googleи обнаружил следующие наиболее вероятные проблемы, но не нашел решения для первых двух.
Когда SQL Server загружает сборки, они кэшируются в памяти.Когда O / S сигнализирует о нехватке памяти для SQL Server, может быть запущен явный сборщик мусора, и сборки могут быть выгружены.Это может вызвать проблемы с производительностью, если это происходит часто.
Код SQL CLR не может быть точно рассчитан оптимизатором запросов, поскольку он не смотрит на то, что код делает на самом деле - это может повлиять на выполнениеПланы.
Код SQL CLR иногда может предотвратить параллелизм, поскольку они обычно являются однопоточными.Иногда это может повредить производительности.<< Хотя я нашел решение этой проблемы здесь <a href="/1048597/mnogopotochnyi-kod-v-hranimyh-protsessah-clr"> Многопоточный код в хранимых процессах CLR? >>
Сообщите мне о проблемах и исправлениях с помощью хранимых процедур CLR.