Estou trabalhando em um sistema de rastreamento de localização usando SQL Server, e armazeno atualizações de localização para funcionários a cada poucos segundos. Aqui está minha tabela:
CREATE TABLE tblAppLocation
(
id INT PRIMARY KEY IDENTITY(1,1),
inEmpId INT FOREIGN KEY REFERENCES tblMstEmployee(inEmpId),
latitude FLOAT NOT NULL,
longitude FLOAT NOT NULL,
timestamp DATETIME NOT NULL DEFAULT GETDATE()
);
Nós monitoramos mais de 300 funcionários, inserindo dados 12 horas por dia. Com o tempo, o tamanho da tabela crescerá significativamente.
Minhas preocupações:
Será que os
id INT IDENTITY(1,1)
valores acabarão? Devo mudar paraBIGINT
?Há riscos de desempenho com inserções frequentes? Indexação ou particionamento ajudariam?
Quais são as práticas recomendadas para gerenciar grandes dados de rastreamento de localização no SQL Server?
Quaisquer informações sobre otimização de banco de dados e soluções de armazenamento de longo prazo seriam apreciadas.