Uma técnica usada para consultar as linhas MAIS RECENTES em tabelas muito grandes (mais de 100 milhões ou mais de 1 bilhão de linhas) está limitando a consulta a "ler" apenas a porcentagem "N" mais recente de LINHAS RECENTES. São aplicativos do mundo real, por exemplo, faço isso para Dados Meteorológicos Recentes não históricos, ou pesquisas recentes de feeds de Notícias ou dados recentes de pontos de dados de localização GPS.
Essa é uma grande melhoria de desempenho se você tiver certeza de que suas linhas estão entre os TOP 5% mais recentes da tabela, por exemplo. De modo que, mesmo que existam índices nas Tabelas, ele limita ainda mais as possibilidades a apenas 5% das linhas em tabelas que possuem mais de 100 milhões ou mais de 1 bilhão de linhas. Esse é especialmente o caso quando Dados Antigos exigirão leituras de Disco Físico e não apenas Memória Lógica leituras da .
Isso é bem mais eficiente que o SELECT TOP | PERCENT | LIMIT, pois não seleciona as linhas, mas limita apenas a parte dos dados a serem pesquisados.
DECLARE @RowIdTableA BIGINT
DECLARE @RowIdTableB BIGINT
DECLARE @TopPercent FLOAT
-- Given that there is an Sequential Identity Column
-- Limit query to only rows in the most recent TOP 5% of rows
SET @TopPercent = .05
SELECT @RowIdTableA = (MAX(TableAId) - (MAX(TableAId) * @TopPercent)) FROM TableA
SELECT @RowIdTableB = (MAX(TableBId) - (MAX(TableBId) * @TopPercent)) FROM TableB
SELECT *
FROM TableA a
INNER JOIN TableB b ON a.KeyId = b.KeyId
WHERE a.Id > @RowIdTableA AND b.Id > @RowIdTableB AND
a.SomeOtherCriteria = 'Whatever'