Ur ett internt perspektiv är metoderna i huvudsak desamma.
Bakom kulisserna, när du skapar en datumbaserad partition skapar SQL-motorn separata fysiska tabeller för varje partition och gör sedan vad som i princip är en UNION
när du frågar själva tabellen.
Om du använder ett filter i din fråga på den partitionerade tabellen som motsvarar ditt partitioneringsfält (DateField
låt oss säga), då kan motorn gå direkt till den partition som du behöver för data. Om inte, söker den efter varje fysisk tabell i den logiska tabellen efter behov för att slutföra frågan.
Om dina frågor kommer att involvera ett datumfilter (vilket det låter som att de kommer från din fråga) så kan jag inte tänka mig någon fördel med din "anpassade" metod.
I grund och botten är valet du behöver göra vill du vara ansvarig för alla logiska och hörnfall som är involverade i partitionering, eller lita på att utvecklarna på Microsoft som har gjort detta i årtionden gör det åt dig?
För mina egna syften, om det finns ett inbyggt ramverk för något jag vill göra så försöker jag alltid använda det. Den är alltid snabbare, stabilare och mindre felbenägen än en "rulla-din-egen"-lösning.