Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Belirtilen herhangi bir bölümleme işlevi için bölümleme sütun değerleri kümesinin eşlenebileceği bölüm numarasını döndürür.
Transact-SQL söz dizimi kuralları
[ database_name. ] $PARTITION.partition_function_name(expression)
Bölüm işlevini içeren veritabanının adı.
Bölümleme sütunu değerleri kümesinin uygulandığı mevcut bölümleme işlevlerinin adı.
Veri türünün ilgili bölümleme sütununun veri türüyle eşleşmesi veya örtük olarak dönüştürülebilir olması gereken bir ifadesi. Bu parametre, şu anda partition_function_namekatılan bölümleme sütununun adı da olabilir.
int
$PARTITION
, 1
ile bölüm işlevinin bölüm sayısı arasında bir int değeri döndürür.
$PARTITION
, değerin bölümlenmiş bir tabloda veya bölüm işlevini kullanan dizinde mevcut olup olmadığına bakılmaksızın geçerli herhangi bir değerin bölüm numarasını döndürür.
Bu örnek, bir tabloyu veya dizini dört bölüme bölecek ARALIK SOL kullanarak RangePF1
bir bölüm işlevi oluşturur.
$PARTITION
, RangePF1
bölümleme sütununu temsil eden 10
değerinin tablonun bölüm 1
yerleştirileceğini belirlemek için kullanılır.
CREATE PARTITION FUNCTION RangePF1(INT)
AS RANGE LEFT
FOR VALUES (10, 100, 1000);
GO
SELECT $PARTITION.RangePF1 (10);
GO
Bu örnekte, veri içeren tablonun her bir bölümündeki satır sayısını döndürmek için $PARTITION
nasıl kullanılacağı gösterilmektedir.
Not
Bu örneği yürütmek için önce önceki örnekteki kodu kullanarak bölüm işlevi RangePF1
oluşturmanız gerekir.
RangePF1
bölüm işlevi için RangePS1
bir bölüm düzeni oluşturun.
CREATE PARTITION SCHEME RangePS1
AS PARTITION RangePF1
ALL TO ('PRIMARY');
GO
bölümleme sütunu olarak col1
RangePS1
bölüm düzeninde dbo.PartitionTable
bir tablo oluşturun.
CREATE TABLE dbo.PartitionTable
(
col1 INT PRIMARY KEY,
col2 CHAR (20)
) ON RangePS1 (col1);
GO
dbo.PartitionTable
tablosuna dört satır ekleyin. Bu satırlar bölüm işlevi RangePF1
tanımına göre bölümlere eklenir: 1
ve 10
bölüm 1
bölümüne, 500
ve 1000
3
gidin.
INSERT dbo.PartitionTable (col1, col2)
VALUES (1, 'a row'),
(10, 'another row'),
(500, 'another row'),
(1000, 'another row');
GO
dbo.PartitionTable
sorgular ve GROUP BY
yan tümcesindeki $PARTITION.RangePF1(col1)
kullanarak her bölümdeki veri içeren satır sayısını sorgular.
SELECT $PARTITION.RangePF1 (col1) AS Partition,
COUNT(*) AS [COUNT]
FROM dbo.PartitionTable
GROUP BY $PARTITION.RangePF1 (col1)
ORDER BY Partition;
GO
Sonuç kümesi aşağıdadır.
Bölüm | SAYMAK |
---|---|
1 | 2 |
3 | 2 |
Satırlar, var olan ancak veri içermeyen 2
bölüm numarası için döndürülmez.
Aşağıdaki örnek, PartitionTable
tablonun 3. bölümündeki tüm satırları döndürür.
SELECT col1, col2
FROM dbo.PartitionTable
WHERE $PARTITION.RangePF1 (col1) = 3;
Sonuç kümesi aşağıdadır.
sütun1 | col2 |
---|---|
500 |
başka bir satır |
1000 |
başka bir satır |
Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolun