у меня есть процедура Sql, которая выбрать записи из таблицы и, если он соответствует вставке к другому table.It выглядит следующим образомповысить эффективность процедуры Sql
CREATE PROCEDURE [dbo].[MarkCopyData]
@copyDataOperationId int,
@countryCode nvarchar(50),
@batchCount int,@batchId int,@jobId int
AS
BEGIN
DECLARE @TableObjectId AS Int;
SET @TableObjectId = OBJECT_ID('Table1');
INSERT INTO
Table2(
TableObjectId,
SourcePrimaryKey,
DestinationCopyOperationId,
IsModifiedAftertCopied,IsDeleted,BatchId,JobId)
SELECT TOP (@batchCount) @TableObjectId, tbl1.pkid, @copyDataOperationId, 0,0,@batchId,@jobId
FROM [dbo].[Table1] AS tbl1
Inner join [dbo].[Country] AS C on C.CountryId = tbl1.fkid
LEFT OUTER JOIN Table2 tbl2 on (tbl2 .SourcePrimaryKey = tbl1.pkid and tbl2 .TableObjectId = @TableObjectId)
WHERE C.CountryCode = @countryCode AND tbl2.DestinationCopyOperationId IS NULL
SELECT @@ROWCOUNT
END
GO
Может кто-нибудь пожалуйста, предложить советы по повышению эффективности этого процедура
Анализ плана выполнения. – leppie