Từ góc độ nội bộ, các phương pháp về cơ bản giống nhau.
Hậu trường, khi bạn tạo một phân vùng dựa trên ngày tháng, công cụ SQL sẽ tạo các bảng vật lý riêng biệt cho từng phân vùng, sau đó thực hiện những gì về cơ bản là một UNION
khi bạn truy vấn chính bảng đó.
Nếu bạn sử dụng bộ lọc trong truy vấn của mình trên bảng được phân vùng tương ứng với trường phân vùng của bạn (DateField
giả sử), sau đó công cụ có thể đi trực tiếp đến phân vùng mà bạn cần cho dữ liệu. Nếu không, nó sẽ tìm kiếm từng bảng vật lý trong bảng logic nếu cần để hoàn thành truy vấn.
Nếu các truy vấn của bạn liên quan đến bộ lọc ngày tháng (nghe có vẻ như chúng sẽ xảy ra từ câu hỏi của bạn) thì tôi có thể nghĩ rằng phương pháp "tùy chỉnh" của bạn không có lợi.
Về cơ bản, lựa chọn bạn cần phải thực hiện là bạn có muốn chịu trách nhiệm cho tất cả các trường hợp logic và góc khuất liên quan đến phân vùng hay tin tưởng các nhà phát triển tại Microsoft, những người đã làm việc này trong nhiều thập kỷ sẽ làm điều đó cho bạn?
Đối với mục đích của riêng tôi, nếu có một khuôn khổ tích hợp cho điều gì đó tôi muốn làm thì tôi luôn cố gắng sử dụng nó. Nó luôn nhanh hơn, ổn định hơn và ít bị lỗi hơn so với giải pháp "tự làm".