Z vnitřního hlediska jsou metody v podstatě stejné.
V zákulisí, když vytvoříte oddíl založený na datu, stroj SQL vytvoří samostatné fyzické tabulky pro každý oddíl a pak udělá to, co je v podstatě UNION
při dotazu na samotnou tabulku.
Pokud v dotazu na dělenou tabulku použijete filtr, který odpovídá vašemu dělícímu poli (DateField
řekněme), pak může engine přejít přímo na oddíl, který potřebujete pro data. Pokud ne, prohledá každou fyzickou tabulku v logické tabulce podle potřeby k dokončení dotazu.
Pokud budou vaše dotazy zahrnovat filtr data (což z vaší otázky zní, že budou), pak si nemyslím, že by vaše „vlastní“ metoda měla žádnou výhodu.
V zásadě musíte učinit volbu, chcete být zodpovědní za veškerou logiku a rohové případy spojené s rozdělováním, nebo důvěřovat vývojářům v Microsoftu, kteří to dělají desítky let, že to udělají za vás?
Pro mé vlastní účely, pokud existuje vestavěný rámec pro něco, co chci dělat, vždy se jej snažím použít. Je vždy rychlejší, stabilnější a méně náchylné k chybám než řešení „svalte si své vlastní“.