У меня есть таблица с примерно 10 полями для хранения информации о gps для клиентов. Со временем, когда мы добавили больше клиентов, эта таблица выросла примерно до 14 миллионов строк. Поскольку данные gps поступают в службу, она постоянно вставляет строку в таблицу. 90% данных не перегружены, то есть заказчику все равно, где транспортное средство было 3 месяца назад, но самые последние данные используются для создания отчетов по отслеживанию. Моя цель - написать sql для выполнения очистки данных старше месяца.Удаление данных из большой таблицы
Вот моя проблема Я не могу использовать TRUNCATE TABLE, поскольку я потерял бы все? Вчера я написал инструкцию table для таблицы с предложением where. Когда я запускал его в тестовой системе, он закрывал мою таблицу, и вставки симуляции gps прерывались. Также мой журнал транзакций вырос до 6 ГБ, поскольку он попытался зарегистрировать каждый delete.
Моя первая мысль состояла в том, чтобы удалить данные немного за раз, начиная с самого старого, но мне было интересно, есть ли лучший способ.
Какой вкус базы данных вы используете? – BIBD
MS SQL 2005 Standard –