Dari perspektif internal, metodenya pada dasarnya sama.
Di balik layar, saat Anda membuat partisi berbasis tanggal, mesin SQL membuat tabel fisik terpisah untuk setiap partisi, lalu melakukan apa yang pada dasarnya adalah UNION
saat Anda menanyakan tabel itu sendiri.
Jika Anda menggunakan filter dalam kueri Anda pada tabel yang dipartisi yang sesuai dengan bidang partisi Anda (DateField
misalkan saja), maka mesin bisa langsung masuk ke partisi yang Anda butuhkan untuk datanya. Jika tidak, maka ia akan mencari setiap tabel fisik dalam tabel logis yang diperlukan untuk menyelesaikan kueri.
Jika kueri Anda akan melibatkan filter tanggal (kedengarannya seperti itu dari pertanyaan Anda), maka saya tidak dapat memikirkan keuntungan dari metode "khusus" Anda.
Pada dasarnya, pilihan yang perlu Anda buat adalah apakah Anda ingin bertanggung jawab atas semua logika dan kasus sudut yang terlibat dalam partisi, atau mempercayai pengembang di Microsoft yang telah melakukan ini selama beberapa dekade untuk melakukannya untuk Anda?
Untuk tujuan saya sendiri, jika ada kerangka kerja bawaan untuk sesuatu yang ingin saya lakukan maka saya selalu mencoba menggunakannya. Solusi ini selalu lebih cepat, lebih stabil, dan tidak terlalu rawan kesalahan dibandingkan solusi "roll-your-own".