Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Bir columnstore indeksindeki her sütun segmenti için bir satır döndürür. Her sıralık grup için bir sütun segmenti vardır. Örneğin, 10 satır grubu ve 34 sütun içeren bir columnstore dizininin bu görünümde 340 satırı vardır.
| Sütun adı | Veri türü | Description |
|---|---|---|
partition_id |
bigint | Bölüm kimliğini gösterir. Bir veritabanında benzersizdir. |
hobt_id |
bigint | Bu columnstore indeksine sahip tablo için heap veya B-tree indeksinin (HoBT) ID'si. |
column_id |
int | columnstore sütununun kimliği. |
segment_id |
int | Satır grubunun kimliği. Geriye dönük uyumluluk için, sütun adı sıralı grup kimliği olmasına rağmen segment_id olarak adlandırılmaya devam eder. kullanarak <hobt_id, partition_id, column_id, segment_id>bir segmenti benzersiz olarak tanımlayabilirsiniz. |
version |
int | Sütun segmenti formatının bir versiyonu. |
encoding_type |
int | O segment için kullanılan kodlama türü: 1 = VALUE_BASED - sözlüğü olmayan dıcıl/ikili (4'e benzer ve bazı iç varyasyonları var) 2 = VALUE_HASH_BASED - sözlükte ortak değerlere sahip dize olmayan/ikili sütun 3 = STRING_HASH_BASED - sözlükte ortak değerlere sahip dize/ikili sütun 4 = STORE_BY_VALUE_BASED - sözlüksüz dize/ikili 5 = STRING_STORE_BY_VALUE_BASED - sözlüksüz dize/ikili Daha fazla bilgi için Açıklamalar bölümüne bakın. |
row_count |
int | Sıra grubundaki sıra sayısı. |
has_nulls |
int | Sütun kesiminin DLL'leri varsa 1. |
base_id |
bigint | Eğer kodlama tipi 1 kullanılıyorsa temel değer ID'si. Kodlama türü 1 kullanılmıyorsa - base_id 1 olarak ayarlanır. |
magnitude |
float | Eğer kodlama tip 1 kullanılıyorsa büyüklük. Kodlama türü 1 kullanılmıyorsa - magnitude 1 olarak ayarlanır. |
primary_dictionary_id |
int | 0 değeri küresel sözlüğü temsil eder. -1 değeri, bu sütun için oluşturulmuş küresel sözlük olmadığını gösterir. |
secondary_dictionary_id |
int | Sıfır olmayan bir değer, mevcut segmentteki bu sütunun yerel sözlüğüne işaret eder (örneğin, sıra grubu). -1 değeri, bu segment için yerel bir sözlük olmadığını gösterir. |
min_data_id |
bigint | Yalnızca dahili kullanım için. |
max_data_id |
bigint | Yalnızca dahili kullanım için. |
null_value |
bigint | Null'ları temsil etmek için kullanılan değer. |
on_disk_size |
bigint | Segmentin bayt cinsinden boyutu. |
collation_id |
int | Segmentin oluşturulduğu dönemdeki güncel derleme. İç bir ID'ye eşlemeler. Yalnızca dahili kullanım için. Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği |
min_deep_data |
varbinary(18) | Segment elemesi için kullanılır. 1 Sadece iç kullanım için. Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği |
max_deep_data |
varbinary(18) | Segment elemesi için kullanılır. 1 Sadece iç kullanım için. Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği |
1 Genişletilmiş bir veri türü kümesi (SQL Server 2022'de (16.x) kullanıma sunulan) min_deep_data için en düşük/en yüksek segment elemesini destekleyen Veritabanı Altyapısı sürümüne yükselttikten sonra, vemax_deep_data, columnstore dizini bir ALTER INDEX ... REBUILD veya CREATE INDEX ... WITH (DROP_EXISTING = ON) deyimi kullanılarak yeniden oluşturulana kadar olurNULL.
Açıklamalar
Columnstore segment kodlama türü, en düşük depolama maliyetine ulaşma hedefiyle segment verileri çözümlenerek Veritabanı Altyapısı tarafından seçilir. Veri çoğunlukla farklıysa, Veritabanı Motoru değer tabanlı kodlama kullanır. Veri çoğunlukla farklı değilse, Veritabanı Motoru hash tabanlı kodlama kullanır. Diziye dayalı ve değer tabanlı kodlama arasındaki seçim, depolanan veri türüyle ilgilidir; ister dizi veri ister ikili veri olsun. Tüm kodlamalar mümkün olduğunda bit paketleme ve run-length kodlamasından faydalanır.
Columnstore segmentinin elenmesi sayısal, tarih ve saat veri türlerine ve ikiden küçük veya buna eşit ölçekle datetimeoffset veri türüne uygulanır. SQL Server 2022'den (16.x) başlayarak, segment eleme özellikleri dize ve ikili veri türlerine, benzersiz belirleyici veri türüne ve ikiden büyük ölçek için datetimeoffset veri türüne genişler. Segment eleme , varchar(max), nvarchar(max)ve varbinary(max)gibi LOB veri türleri için geçerli değildir. Daha fazla bilgi için bkz . Columnstore dizinlerindeki yenilikler.
Permissions
Görünümde VIEW DEFINITION izin gereklidir. Kullanıcının da izni olmadığı sürece aşağıdaki sütunlar döndürülmüştürNULL: has_nulls, base_id, magnitude, min_data_id, max_data_id, ve null_value.SELECT
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 sorgu, bir columnstore indeksinin segmentleri hakkında bilgi geri döndürür.
SELECT i.name, p.object_id, p.index_id, i.type_desc,
COUNT(*) AS number_of_segments
FROM sys.column_store_segments AS s
INNER JOIN sys.partitions AS p
ON s.hobt_id = p.hobt_id
INNER JOIN sys.indexes AS i
ON p.object_id = i.object_id
WHERE i.type = 5 OR i.type = 6
GROUP BY i.name, p.object_id, p.index_id, i.type_desc;
İlgili içerik
- Columnstore Dizinleri Kılavuzu
- Sıralı columnstore dizinleriyle performans ayarlama
- 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)
- sys.column_store_dictionaries (Transact-SQL)