tableB のいくつかの行に一致する tableA からいくつかのデータを選択するクエリがあります。動作しますが、非常に遅く、数百行を返すのに約 20 分かかります。これがクエリです。どこを改善するか、何を変更するかについての提案があれば幸いです。
SQL Server 2008 を使用しています
DECLARE @MaxDate DATETIME
SELECT @MaxDate = MAX(TimeStamp) -- I know it's not the best column name
FROM tableA
WHERE CodeName IN
(SELECT Tag FROM TableB
WHERE POSITION = 'UP' AND PLACE = 'Shelf')
IF @MaxDate > '2011-08-08'
BEGIN
SELECT @MaxDate = MAX(TimeStamp) -- I know it's not the best column name
FROM tableA
WHERE CodeName IN
(SELECT Tag FROM TableB
WHERE POSITION = 'UP' AND PLACE = 'Shelf')AND TimeStamp >= '2008-12-24' AND TimeStamp < '2010-12-24'
END
ELSE
PRINT 'Date out of range'