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