Z perspektywy wewnętrznej metody są zasadniczo takie same.
Za kulisami, kiedy tworzysz partycję opartą na dacie, silnik SQL tworzy osobne tabele fizyczne dla każdej partycji, a następnie robi to, co w zasadzie jest UNION
kiedy zapytasz samą tabelę.
Jeśli używasz filtru w zapytaniu w tabeli partycjonowanej odpowiadającej polu partycjonowania (DateField
powiedzmy), silnik może przejść bezpośrednio do partycji, której potrzebujesz dla danych. Jeśli nie, przeszukuje każdą fizyczną tabelę w tabeli logicznej, aby zakończyć zapytanie.
Jeśli Twoje zapytania będą zawierały filtr dat (co brzmi tak, jakby zawierały Twoje pytanie), to nie mogę wymyślić żadnej korzyści dla Twojej „niestandardowej” metody.
Zasadniczo wybór, którego musisz dokonać, to czy chcesz być odpowiedzialny za całą logikę i kluczowe przypadki związane z partycjonowaniem, czy też zaufać programistom w firmie Microsoft, którzy robią to od dziesięcioleci, aby zrobili to za Ciebie?
Na własne potrzeby, jeśli istnieje wbudowany framework do czegoś, co chcę zrobić, zawsze staram się z niego korzystać. Jest niezmiennie szybsze, stabilniejsze i mniej podatne na błędy niż rozwiązanie „samodzielne”.