현재 우리는 MS SQL Server 2005 (32 비트)가 있습니다. 우리는 암호화와 암호 해독에 사용하는 어셈블리가 1 개 (그리고 어셈블리가 1 개) 밖에 없습니다. 512MB의 시스템 메모리 만 CLR에 할당됩니다. 어셈블리가 꽤 느리게 실행되며, 메모리에서 발생했는지 여부를 배제하려고합니다. 쿼리 분석기 (어셈블리가 아닌)에서 SQL 코드를 실행하면 빠르게 실행됩니다. 암호화/암호 해독을 위해 대칭 키와 인증서를 사용하고 있습니다.SQL Server CLR 메모리 할당
CLR에 할당 할만한 메모리가 있습니까? 메모리 할당 부족으로이 어셈블리의 성능이 저하되고 있는지 어떻게 알 수 있습니까?
당신은 "나는 (안 어셈블리에) 쿼리 분석기에서 SQL 코드를 실행하면 빠르게 실행됩니다."무엇을 의미합니까? 많은 병목 현상을 특정 병목 현상까지 추적 할 수 있습니다. 느린 것을 관찰하는 동안 CPU가 고정되어 있습니까? DB 외부에서 자체적으로 수행하는 CLR 메서드가 DB와 다른 규모로 수행합니까? – ahains
어셈블리 자체 (해당 SP) 대신에 쿼리 창에서 어셈블리에 포함 된 코드를 실행합니다. 어셈블리에서 인증서/키 암호를 다른 개발자가 숨길 수 있습니다. 보스 맨에게 CPU에 무슨 일이 일어나는지 확인해 보겠습니다. –