sys.column_store_row_groups (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Segment başına sütun deposu dizin bilgileri sağlar.

Kümelenmiş columnstore dizinleri için fiziksel sys.column_store_row_groups olarak depolanan toplam satır sayısı (silinmiş olarak işaretlenenler dahil) için bir sütun ve silinmiş olarak işaretlenmiş satır sayısı için bir sütun vardır. Silinen satırların yüksek yüzdesine sahip olan ve yeniden oluşturulması gereken satır gruplarını belirlemek için kullanın sys.column_store_row_groups .

Sütun adı Veri türü Description
object_id int Bu dizinin tanımlandığı tablonun kimliği.
index_id int Columnstore dizininin kimliği.
partition_number int tarafından row_group_idtanımlanan satır grubunu tutan tablo bölümü. birleştirmek sys.partitionsiçin kullanınpartition_number.
row_group_id int Bu satır grubuyla ilişkili satır grubu numarası. Bu sayı bölümün içinde benzersizdir.

-1 = bellek için iyileştirilmiş tablonun kuyruğu.
delta_store_hobt_id bigint hobt_id Delta deposundaki bir OPEN satır grubu için.

Satır grubu delta deposunda değilse NULL.

Bellek için iyileştirilmiş tablonun kuyruğu için NULL.
state tinyint Satır grubu durumunu açıklayan bir sayı.

0 = INVISIBLE

1 = OPEN

2 = CLOSED

3 = COMPRESSED

4 = TOMBSTONE
state_description nvarchar(60) Satır grubunun durumunun açıklaması:

INVISIBLE - Delta deposundaki verilerden oluşturulma sürecindeki gizli sıkıştırılmış kesim. Okuma eylemleri görünmez sıkıştırılmış kesim tamamlanana kadar delta depoyu kullanır. Sonra yeni segment görünür hale getirilir ve kaynak delta deposu kaldırılır.

OPEN - Yeni satırları kabul eden bir okuma/yazma satırı grubu. Açık satır grubu hala satır deposu biçimindedir ve columnstore biçiminde sıkıştırılamaz.

CLOSED - Doldurulan ancak tanımlama grubu taşıyıcı işlemi tarafından henüz sıkıştırılmayan bir satır grubu.

COMPRESSED - Doldurulan ve sıkıştırılmış bir satır grubu.
total_rows bigint Satır grubunda fiziksel olarak saklanan toplam satırlar. Silinen satırlar yine de depolanabilir. Bir satır grubundaki satır sayısı üst sınırı 1.048.576'dır.
deleted_rows bigint Satır grubundaki silinmiş olarak işaretlenen ancak depolanmış olarak kalan toplam satır sayısı. Bu değer her zaman 0 delta satır grupları içindir.

Kümelenmemiş columnstore dizinleri için bu değer, silme arabelleğinde depolanan silinmiş satırları içermez. Daha fazla bilgi edinmek ve silme arabelleğindeki silinen satır sayısını bulmak için bkz. sys.internal_partitions.
size_in_bytes bigint Hem delta deposu hem de columnstore satır grupları için bu satır grubundaki tüm verilerin bayt cinsinden boyutu (meta veriler veya paylaşılan sözlükler dahil değildir).

Açıklamalar

Kümelenmiş veya kümelenmemiş columnstore dizini olan her tablonun her bölümü için her columnstore satır grubu için bir satır döndürür.

Satır grubunda kaç satır olduğunu ve satır grubunun boyutunu bulmak için kullanın sys.column_store_row_groups .

Bir satır grubundaki silinmiş satır sayısı toplam satırların büyük bir yüzdesine ulaştığında, tablo daha az verimli hale gelir. Tablonun boyutunu azaltmak için columnstore indeksini yeniden oluşturun, böylece tabloyu okumak için gereken disk G/Ç miktarını azaltın. columnstore dizinini yeniden oluşturmak için deyiminin REBUILD yan tümcesini ALTER INDEX kullanın.

Güncelleştirilebilir columnstore ilk olarak yeni verileri satır deposu biçimindeki açık bir satır grubuna ekler ve bazen delta tablosu olarak da adlandırılır. Açık bir satır grubu dolduktan sonra, durumu olarak CLOSEDdeğişir. Kapalı bir satır grubu, tanımlama grubu taşıyıcısı tarafından columnstore biçiminde sıkıştırılır ve durum olarak COMPRESSEDdeğişir. Tuple Mover, periyodik olarak uyanan ve kapalı satır grubunun sıkıştırılmaya hazır olup olmadığını kontrol eden bir arka plan sürecidir. Tanımlama grubu taşıyıcısı, her satırın silindiği tüm satır gruplarını serbest bıraksa da. Serbest bırakılmış satır grupları olarak TOMBSTONEişaretlenir. Tanımlama grubu taşıyıcısını hemen çalıştırmak için deyiminin REORGANIZE yan tümcesini ALTER INDEX kullanın.

Bir columnstore satır grubu dolduğunda sıkıştırılır ve yeni satırları kabul etme işlemini durdurur. Sıkıştırılmış bir gruptan satır sildiğinizde, bunlar kalır ancak silinmiş olarak işaretlenir. Sıkıştırılmış bir gruba yapılan güncellemeler, sıkıştırılmış gruptan silme ve açık bir gruba ekleme olarak uygulanır.

Permissions

Kullanıcının tablo üzerinde izni varsa VIEW DEFINITION tablo için bilgi döndürür.

Katalog görünümlerindeki meta verilerin görünürlüğü, kullanıcının sahip olduğu veya kullanıcıya bazı izinlerin verildiği güvenli hale getirilebilir öğelerle sınırlıdır. Daha fazla bilgi için bkz. Meta veri görünürlüğü yapılandırması.

Örnekler

Aşağıdaki örnek, kümelenmiş columnstore dizinleri sys.column_store_row_groups hakkında bilgi döndürmek için görünümü ve diğer sistem görünümlerini birleştirir. Sütun percent_full , satır grubunun verimliliğine ilişkin bir tahmindir.

SELECT i.object_id,
       OBJECT_SCHEMA_NAME(i.object_id) AS schema_name,
       OBJECT_NAME(i.object_id) AS table_name,
       i.name AS index_name,
       i.type_desc AS index_type_desc,
       rg.partition_number,
       rg.row_group_id,
       rg.state_description,
       rg.total_rows,
       rg.deleted_rows,
       rg.size_in_bytes,
       100 * (rg.total_rows - ISNULL(rg.deleted_rows, 0)) / total_rows AS percent_full
FROM sys.indexes AS i
     INNER JOIN sys.column_store_row_groups AS rg
         ON i.object_id = rg.object_id
        AND i.index_id = rg.index_id
WHERE INDEXPROPERTY(i.object_id, i.name, 'IsClustered') = 1
ORDER BY schema_name, table_name, index_name, row_group_id;

Daha fazla bilgi için bkz. Columnstore dizininin parçalanma durumunu denetleme.