Scénario:
- deux bases de données: DB_A et DB_Archive avec une très grande table appelée tableA.
- chaque jour, les enregistrements de plus de 60 jours sont supprimés de DB_A et déplacés vers DB_Archive principalement pour laisser la chose "séparée" car la tableA est fortement interrogée sur DB_A pour les enregistrements des 2 derniers mois.
Je veux me débarrasser de ce processus car il est lent et consomme beaucoup de ressources. Je pense à implémenter le partitionnement de table sur DB_A avec une fonction de partition sur une colonne de date et à stocker tous les enregistrements <2 mois sur une partition et tous les enregistrements> 2 mois sur une autre partition. Mes questions:
- ce scénario va-t-il se comporter comme si j'avais 2 bases de données différentes? Si je demande à ma tableA des enregistrements> getdate () - 30, est-ce que ça va lire la partition d'archivage?
- Je suppose que je dois aussi partitionner les index, non?
- Comment gérer le fait que demain ma fonction de partition "changera", je veux dire, si je crée la fonction aujourd'hui (2 juillet, sa plage sera le 2 mai, mais demain serait le 3 mai). Puis-je créer une fonction de partition dynamique?