Cenário:
- dois bancos de dados: DB_A e DB_Archive com uma tabela muito grande chamada tableA.
- todos os dias, os registros com mais de 60 dias são excluídos do DB_A e movidos para o DB_Archive, principalmente para deixar o item "separado" porque a tabelaA é muito consultada no DB_A para registros dos últimos 2 meses.
Eu quero me livrar desse processo porque é lento e consome muitos recursos. Estou pensando em implementar o particionamento de tabela no DB_A com uma função de partição em uma coluna de data e armazenar todos os registros <2 meses em uma partição e todos os registros> 2 meses em outra partição. Minhas perguntas:
- esse cenário se comportará como se eu tivesse 2 bancos de dados diferentes? Se eu consultar minha tabelaA para registros> getdate () - 30, ela lerá a partição de arquivamento?
- Eu deveria ter que particionar os índices também, certo?
- Como faço para lidar com o fato de que amanhã minha função de partição "mudará", quero dizer, se eu criar a função hoje (2 de julho, seu intervalo será 2 de maio, mas amanhã será 3 de maio). Posso criar uma função de partição dinâmica?