나와 나와 저의 동료는 SQL Server 2008 쿼리 길이와 SQL Server Optimizer에 관한 질문을 가지고 있습니다.저장 프로 시저의 where 절의 최대 크기
잠재적으로 많은 매개 변수가있는 저장 프로 시저를 생성하려고합니다. 저장 프로 시저 내부에서 다른 테이블을 결합하는 테이블에서 일부 값을 선택하기 만하면됩니다.
우리의 저장 프로 시저이
CREATE PROCEDURE QueryTable
@Parameter001 nvarchar(20),
@Parameter002 int,
@Parameter003 datetime,
@Parameter004 decimal(11,2),
@Parameter005 date,
@Parameter006 varchar(150),
@Parameter007 int,
@Parameter008 decimal(5,2),
@Parameter009 nvarchar(10),
@Parameter010 nvarchar(200),
@Parameter011 nvarchar(50) --,
--...and so on, there are probably 50 to 100 parameters here
AS
BEGIN
SET NOCOUNT ON;
SELECT ID, COL01, COL02, COL03, COL04, COL05 from TestTable T
LEFT JOIN AnotherTable A On T.SomeColomn = A.SomeColumn
LEFT JOIN AThirdTable ATT On A.ThirdTableID = ATT.Id
--and so on, probably 5-10 Tables joined here
WHERE
T.Col02 = @Parameter001 AND
T.Col05 = @Parameter004 AND
ATT.SomeColumnContainingData = @Parameter027
A.AnotherID = @Parameter050
--probably 50 to 100 conditions here (Number of conditions equals number of parameters)
END
GO
우리의 질문에 다음과 같이 표시됩니다 은 쿼리 최적화와 SQL 서버 캐시 고려할 수있는 곳-조건의 양에 제한이 있습니까? 기술적 인 한계가 없다면 몇 가지 조건을 사용할 수 있고 사용해야하는지에 대한 모범 사례가 있습니까?
(http://technet.microsoft.com/en-us/library/ms143432.aspx "This")은 SQL Server 2008의 링크입니다. – DrummingCoder