Uso de tablas de series temporales
Si los datos tienen un periodo de retención fijo, puede organizarlos como una secuencia de tablas de series temporales. En esta secuencia, cada tabla es idéntica, pero contiene datos de diferentes intervalos de tiempo.
Puede eliminar fácilmente los datos antiguos; para ello, solo tiene que ejecutar el comando DROP TABLE en las tablas correspondientes. Este enfoque es mucho más rápido que ejecutar un proceso DELETE a gran escala y, además, le evita tener que ejecutar un proceso VACUUM posterior para recuperar espacio. Para ocultar el hecho de que los datos se almacenan en tablas diferentes, puede crear una vista UNION ALL. Cuando elimine los datos antiguos, ajuste la vista UNION ALL para eliminar las tablas descartadas. De igual modo, mientras carga periodos de tiempo nuevos en tablas nuevas, agregue las tablas nuevas a la vista. Para indicar al optimizador que omita el análisis de las tablas que no coincidan con el filtro de la consulta, la definición de vista filtra por el periodo de fechas correspondiente a cada tabla.
Procure no tener demasiadas tablas en la vista UNION ALL. Cada tabla adicional agrega tiempo de procesamiento a la consulta. No es necesario que las tablas utilicen la misma franja de tiempo. Puede tener tablas para diferentes periodos de tiempo (por ejemplo, diariamente, mensualmente y anualmente).
Si utiliza tablas de series temporales con una columna de marca temporal para la clave de ordenación, los datos se cargarán en orden de clave de ordenación. Así se elimina la necesidad de limpiar para volver a ordenar los datos. Para obtener más información, consulte Carga de los datos en orden de clave de clasificación.