Aracılığıyla paylaş


sys.column_store_row_groups (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler Azure SQL Managed Instance

Yöneticinin sistem yönetim kararlarını almasına yardımcı olmak için segment başına kümelenmiş columnstore indeks bilgisi sağlar. sys.column_store_row_groups , fiziksel olarak saklanan toplam satır sayısı (silinmiş olarak işaretlenenler dahil) için bir sütun ve silinmiş olarak işaretlenen satır sayısı için bir sütun içerir. Hangi satır gruplarının yüksek yüzdede silindiğini ve yeniden oluşturulması gerektiğini belirlemek için sys.column_store_row_groups kullanın.

Sütun adı Veri türü Description
object_id int Bu indeksin tanımlandığı tablonun id'si.
index_id int Bu columnstore indeksine sahip tablonun indeksinin ID'si.
partition_number int row_group_id. sıra grubunu tutan tablo bölümünün ID'si. Bu DMV'yi sys.partitions'a bağlamak için partition_number kullanabilirsiniz.
row_group_id int Bu satır grubuyla ilişkili satır grubu numarası. Bu, bölüm içinde benzersizdir.

-1 = bellek içi tablonun kuyruğu.
delta_store_hobt_id bigint Delta mağazasında OPEN sıra grubunun hobt_id.

Eğer satır grubu delta deposunda değilse NULL.

NULL, bellek içi tablonun kuyruğu için.
state tinyint state_description ile ilişkili kimlik numarası.

0 = GÖRÜNMEZ

1 = AÇIK

2 = KAPALI

3 = BASILMIŞ

4 = MEZAR TAŞI
state_description nvarchar(60) Sıra grubunun kalıcı durumunun tanımı:

INVISIBLE, delta deposunda veriden oluşturulan gizli sıkıştırılmış -A segmenttir. Okuma işlemleri, görünmez sıkıştırılmış segment tamamlanana kadar delta deposunu kullanır. Sonra yeni segment görünür hale getirilir ve kaynak delta deposu kaldırılır.

OPEN - Yeni kayıtları kabul eden okuma/yazma satır grubu. Açık satır grubu hâlâ sıralı mağaza formatındadır ve columnstore formatına sıkıştırılmamıştır.

KAPALI - Doldurulmuş ancak tuple hareket ettirme süreciyle henüz sıkıştırılmamış bir satır grubu.

BASTIRILMIŞ - Doldurulmuş ve sıkıştırılmış bir sıra grubu.
total_rows bigint Satır grubunda fiziksel olarak saklanan toplam satırlar. Bazıları silinmiş olabilir ama hâlâ saklanıyorlar. Bir satır grubundaki maksimum satır sayısı 1.048.576'dır (onaltılık FFFFF).
deleted_rows bigint Satır grubundaki toplam satır silinmiş olarak işaretlendi. DELTA sıra grupları için bu her zaman 0'dır.
size_in_bytes bigint Bu satır grubundaki tüm verilerin (meta veri veya paylaşılan sözlükler hariç) hem DELTA hem de COLUMNSTORE satır grupları için bayt cinsinden boyutu.

Açıklamalar

Her bir sütun deposu satır grubu için bir satır döner; her bir tablo için kümelenmiş veya kümelenmiş olmayan bir columnstore indeksi bulunur.

Satır grubuna dahil edilen sıra sayısını ve satır grubunun boyutunu belirlemek için sys.column_store_row_groups kullanın.

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 indeksini yeniden oluşturmak için ALTER INDEX ifadesinin REBUILD seçeneğini kullanın.

Güncellenebilir columnstore önce yeni verileri bir sıra deposu formatında olan OPEN satır grubuna ekler ve bazen delta tablosu olarak da adlandırılır. Açık bir sıra grubu dolduğunda, durumu KAPALI olur. Kapalı bir sıra grubu, tuple taşıyıcı tarafından columnstore formatına sıkıştırılır ve durum SIKIŞTIRILMIŞe geçer. 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. Tuple taşıyıcı ayrıca her satırın silindiği sıralı grupları departonetir. Dağıtılmış sıra grupları TOMBSTONE olarak işaretlenir. Tuple mover'ı hemen çalıştırmak için ALTER INDEX ifadesinin REORGANIZE seçeneğini kullanın.

Bir columnstore satır grubu dolduğunda, sıkıştırılır ve yeni satır kabul etmeyi durdurur. Sıkıştırılmış bir gruptan satırlar silindiğinde, kalırlar ancak silinmiş olarak işaretlenirler. 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, sys.column_store_row_groups tablosunu diğer sistem tablolarına birleştirerek belirli tablolar hakkında bilgi sağlar. Hesaplanan PercentFull sütun, satır grubunun verimliliğinin bir tahminidir. Tek bir tabloda bilgi bulmak için WHERE cümlesinin önündeki yorum tirelerini kaldırın ve bir tablo adı verin.

SELECT i.object_id, object_name(i.object_id) AS TableName,   
i.name AS IndexName, i.index_id, i.type_desc,   
CSRowGroups.*,   
100*(total_rows - ISNULL(deleted_rows,0))/total_rows AS PercentFull    
FROM sys.indexes AS i  
JOIN sys.column_store_row_groups AS CSRowGroups  
    ON i.object_id = CSRowGroups.object_id  
AND i.index_id = CSRowGroups.index_id   
--WHERE object_name(i.object_id) = '<table_name>'   
ORDER BY object_name(i.object_id), i.name, row_group_id;  

Ayrıca bakınız

nesne kataloğu görünümlerini (Transact-SQL)
Katalog Görünümleri (Transact-SQL)
SQL Server Sistem Kataloğunu Sorgulama hakkında SSS
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)
Columnstore Dizinleri Kılavuzu
sys.column_store_dictionaries (Transact-SQL)
sys.column_store_segments (Transact-SQL)