Scenario:
- due database: DB_A e DB_Archive con una tabella molto grande chiamata tableA.
- ogni giorno, i record più vecchi di 60 giorni vengono eliminati da DB_A e spostati in DB_Archive principalmente per lasciare la cosa "separata" perché la tabella A è fortemente interrogata su DB_A per i record degli ultimi 2 mesi.
Voglio sbarazzarmi di questo processo perché è lento e consuma molte risorse. Sto pensando di implementare il partizionamento delle tabelle su DB_A con una funzione di partizione su una colonna data e di archiviare tutti i record <2 mesi su una partizione e tutti i record> 2 mesi su un'altra partizione. Le mie domande:
- questo scenario si comporterà come se avessi 2 database diversi? Se eseguo una query sulla mia tabella A per i record> getdate () - 30, leggerà la partizione di archiviazione?
- Suppongo di dover anche partizionare gli indici, giusto?
- Come posso affrontare il fatto che domani la mia funzione di partizione "cambierà", intendo, se creo la funzione oggi (2 luglio, il suo intervallo sarà il 2 maggio, ma domani sarebbe il 3 maggio). Posso creare una funzione di partizione dinamica?