MS-SQL의 버그 3 분.이 나는 다음과 같은 우리의 설정에 오류 또는 MS-SQL에서 버그가 있는지 알고 싶습니다
CREATE PROCEDURE [dbo].[ourProcedure]
@param1 int,
@param2 int,
@param3 dateTime
AS
BEGIN...
동일한 절차를 실행했지만 작성시 매개 변수의 로컬 복사본을 만들었지 만 11 초 밖에 걸리지 않았습니다!
CREATE PROCEDURE [dbo].[ourProcedure]
@param1_x int,
@param2_x int,
@param3_x dateTime
AS
BEGIN
DECLARE @param1 int
DECLARE @param2 int
DECLARE @param3 dateTime
@param1 = @param1_x
@param2 = @param2_x
@param3 = @param3_x
...
누가 내 이유를 말해 줄 수 있습니까? SQL이 C#과 같은 매개 변수를 처리하지 않는 이유는 무엇입니까?
나머지 SP를 보여줄 수 있습니까? 또는 더 나은 방법 : 두 변형의 쿼리 계획을 비교하십시오. 나는 그것이 어떤 종류의 매개 변수 스니핑과 관련이 있다고 생각한다. 그것은 "SQL 성능"문제 (예 : 인터프리터)가 아니지만 생성하는 일부 선택에 대해 다른 쿼리 계획이라고 생각합니다. – TomTom
아니요, SP의 속도 저하 원인이 될 수 없습니다. SP 내부 쿼리 일 수 있습니다. 쿼리를 게시하십시오. – Rahul
"SP의 느림"응? 내 질문을 읽었 니? SP와 유일한 차이점은 매개 변수를 복사하는 로컬 변수를 추가했기 때문입니다. –