SQL Server 2008 で以下のクエリを最適化する方法。特に最適化する必要があるクエリを選択します。 )
DECLARE @proxyAcctToken nvarchar(50)
DECLARE @pmtAcctToken varchar(50)
DECLARE @ErrorCode varchar(50)
DECLARE @returnMessage varchar(1000)
DECLARE @ErrorStep varchar(100)
DECLARE @tokenSeqNo int
DECLARE @count int
SELECT @count=100000
WHILE(@count>0)
BEGIN
SELECT @ErrorCode = @@ERROR
BEGIN TRY
SELECT top 1 @tokenSeqNo=S_NO,@pmtAcctToken = PMT_ACCT_TOKEN, @proxyAcctToken=PROXY_PMT_TOKEN
FROM PCTransDB.dbo.MIG_TOKEN_DUMP WHERE CONSUMED_FLAG = 'false'
UPDATE PCTransDB.dbo.MIG_TOKEN_DUMP SET CONSUMED_FLAG = 'TRUE', CONSUMED_BY = 'MIGBATCH' WHERE S_NO = @tokenSeqNo
PRINT @count
SELECT @ErrorCode = 0
/*************************************
* Return from the Stored Procedure
*************************************/
END TRY
BEGIN CATCH
PRINT 'IN CATCH BLOCK'
END CATCH
SELECT @count = @count-1
SELECT @proxyAcctToken = null
SELECT @pmtAcctToken =null
END
注: テーブルの詳細
Column Nmae DataType IsNullable
S_NO int NO
PROXY_PMT_TOKEN nvarchar NO
PMT_ACCT_TOKEN nvarchar NO
CONSUMED_FLAG bit NO
CONSUMED_BY nvarchar YES