Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Partycjonowanie według roku a oddzielne tabele o nazwach Dane_2011, Dane_2010 itp.

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”.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdzanie historii planu konserwacji programu SQL Server pod kątem powodzenia lub niepowodzenia

  2. nie można znaleźć błędu sterownika podczas używania PDO z serwerem MSSQL

  3. Widok SQL sprzedaży z datą równoległą

  4. T-SQL Zapytanie tabelę macierzową dla wolnej pozycji

  5. Równoważnik funkcji Split w T-SQL?