Jika Anda memiliki tabel yang dipartisi di SQL Server, dan sekarang Anda ingin menjalankan kueri yang menyertakan nomor partisi pada setiap baris yang dikembalikan oleh kueri, Anda dapat menggunakan $PARTITION
fungsi sistem untuk melakukan hal itu.
$PARTITION
function mengembalikan nomor partisi tempat sekumpulan nilai kolom partisi akan dipetakan untuk fungsi partisi yang ditentukan.
Oleh karena itu, Anda dapat menggunakannya di SELECT
. Anda pernyataan untuk mengembalikan partisi yang dimiliki setiap baris.
Contoh
Berikut ini contoh untuk didemonstrasikan.
SELECT
CatId,
CatName,
$PARTITION.CatsPartitionFunction(CatId) AS [Partition]
FROM Cats;
Hasil:
+---------+-------------+-------------+ | CatId | CatName | Partition | |---------+-------------+-------------| | 1 | Meow | 2 | | 2 | Fluffy | 2 | | 3 | Scratch | 2 | | 4 | Bulldog | 2 | | 5 | King George | 2 | | 6 | Sharp | 3 | | 7 | Fritz | 3 | | 8 | Garfield | 3 | | 9 | Boss | 3 | +---------+-------------+-------------+
Dalam hal ini, baris didistribusikan antara partisi 2 dan 3.
Partisi 1 kosong (seperti halnya partisi 4), sesuai dengan rekomendasi Microsoft untuk membiarkan partisi di kedua ujungnya kosong, untuk menghilangkan perpindahan data jika partisi dipisah atau digabungkan.